CORS(원본 간 자원 공유) 구성

웹 애플리케이션을 통해 다른 원본에서 Domino 웹 서버의 자원에 액세스할 수 있도록 CORS(원본 간 자원 공유)를 구성합니다.

이 태스크 정보

보안상 이유로 대부분 브라우저에서는 동일한 원본 정책 규칙을 준수합니다. 이 규칙에서는 하나의 원본에서 로드된 웹 페이지를 통해 다른 서버(또는 원본)의 자원에 액세스하지 못하도록 제한합니다. CORS에서는 동일한 원본 정책에 대한 예외를 정의할 수 있습니다. 대부분 브라우저에서는 CORS를 지원합니다.

주:
  • Domino 10.0.1 수정팩 2부터 CORS가 지원됩니다.
  • Windows, Linux 및 IBM AIX에서 CORS가 지원됩니다. IBM i에서는 지원되지 않습니다.

서버 A(Apache 서버)에서 로드된 웹 애플리케이션을 통해 서버 B(Domino 서버)에 REST API를 요청하는 예를 들어보겠습니다. 서버 A에서 로드된 웹 페이지를 통해 서버 B에 REST API를 요청할 수 있도록 서버 B의 CORS를 구성합니다.

CORS는 DAS(Domino 액세스 서비스) API 및 Domino에서 호스팅되는 기타 종류의 REST API에서 작동합니다. 실제로 CORS는 모든 유형의 Domino HTTP 자원에서 작동합니다.

Domino 서버의 CORS를 구성하려면 다음 단계를 완료합니다.

프로시저

  1. Domino 서버에 대한 서버 문서의 CORS를 사용하도록 설정합니다.
    주: 또는 웹 사이트 문서(구성 탭)에서 CORS를 사용하도록 설정합니다.
    1. Domino 디렉토리에서 서버 문서를 엽니다. (인터넷 사이트 문서를 통한 구성은 지원되지 않습니다.).
    2. 인터넷 프로토콜 > HTTP 탭을 선택합니다.
    3. DSAPI 섹션에서 DSAPI 필터 파일 이름 필드에 다음 값을 추가합니다.
      • (Windows) ncorsext
      • (기타 모든 플랫폼) corsext
  2. Domino 서버에 액세스할 수 있는 원본을 정의하는 JSON 파일을 작성합니다.
    주: 웹 사이트 문서를 통해 CORS를 사용하도록 설정한 경우 웹 사이트와 연결된 각 서버에서 이 단계와 다음 단계를 완료합니다.
    1. 서버의 ...Domino\data\domino 폴더에 새 폴더 cors을(를) 작성합니다.
    2. cors 폴더에 새 파일 cors-rules.json을(를) 작성합니다.
    3. cors-rules.json에서 Domino 서버가 액세스할 수 있는 원본을 정의합니다. 추가 정보는 CORS JSON 구성의 내용을 참조하십시오.
  3. HTTP 서버 태스크를 중지하고 다시 시작합니다.
    tell http quit 
    load http  

결과

HTTP 서버 시작 시 다음 메시지는 CORS가 올바르게 구성되었다는 것을 의미합니다.
HTTP 서버: DSAPI CORS 필터가 성공적으로 로드됨
HTTP 서버 시작 시 다음 메시지는 CORS 구성에 문제가 있다는 것을 의미합니다.
HTTP 서버: DSAPI 모듈 ncorsext 로드 실패