CPRS(크로스 원본 리소스 공유) 기능은 요청 시 클라이언트에 정책 정보를 제공하고 요청이 정책을 준수하는지를 확인하여 클라이언트 측 크로스 원본 요청을 조절합니다. 이 기능은 필요할 때 구성하고 사용하도록 설정할 수 있습니다.
정책에는 수락될 수 있는 HTTP 메서드 집합, 요청을 시작할 수 있는 위치 및 유효한 컨텐츠 유형이 포함됩니다. 이러한 정책은 요청 URL에 따라 다르며 locked.properties 파일에 항목을 추가하여 필요에 따라 다시 구성할 수 있습니다.
속성 이름 뒤에 있는 생략 부호는 속성이 목록을 수락할 수 있음을 나타냅니다.
속성 | 값 유형 | 마스터 기본값 | 기타 기본값 |
---|---|---|---|
enableCORS | true false |
true | n/a |
acceptContentType... | http-content-type | application/x-www-form-urlencoded,application/xml,text/xml | admin=application/json,application/text,application/x-www-form-urlencoded portal=application/json rest=application/json sse=application/json view-vlsi-rest=application/json |
acceptHeader... | http-header-name | * | admin=Accept,Accept-Encoding,Accept-Charset,Accept-Language,Authorization,Cache-Control,Connection,Content-Language,Content-Length,Content-Type,Cookie,csrftoken,DNT,Host,Origin,Referer,User-Agent broker=Accept,Accept-Encoding,Accept-Charset,Accept-Language,Authorization,Connection,Content-Language,Content-Length,Content-Type,Cookie,Gateway-Location,Gateway-Name,Gateway-Type,Host,Origin,Referer,User-Agent,X-CSRF-Token,X-EUC-Gateway,X-EUC-Health,X-Forwarded-For,X-Forwarded-Host,X-Forwarded-Proto portal=Accept,Accept-Encoding,Accept-Charset,Accept-Language,Authorization,Connection,Content-Language,Content-Length,Content-Type,Cookie,Host,Origin,Referer,User-Agent,X-CSRF-Token rest=Accept,Accept-Encoding,Accept-Charset,Accept-Language,Authorization,Connection,Content-Language,Content-Length,Content-Type,Cookie,csrfToken,Host,Origin,Referer,User-Agent,X-Require-Cloud-Admin-Privilege view-vlsi=Accept,Accept-Encoding,Accept-Charset,Accept-Language,Authorization,Connection,Content-Language,Content-Length,Content-Type,Cookie,csrfToken,Host,Origin,Referer,User-Agent,X-Require-Cloud-Admin-Privilege view-vlsi-rest=Accept,Accept-Encoding,Accept-Charset,Accept-Language,Authorization,Connection,Content-Language,Content-Length,Content-Type,Cookie,csrfToken,Host,Origin,Referer,User-Agent,X-Require-Cloud-Admin-Privilege |
exposeHeader... | http-header-name | * | n/a |
filterHeaders | true false |
true | n/a |
checkOrigin | true false |
true | n/a |
checkReferer | true false |
false | n/a |
allowCredentials | true false |
false | admin =true broker=true health=true misc =true portal=true rest=true saml=true sse=true tunnel=true view-vlsi=true view-vlsi-rest=true |
allowMethod... | http-method-name | GET,HEAD,POST | health =GET,HEAD misc =GET,HEAD rest=GET,POST,PUT, PATCH,DELETE saml =GET,HEAD sse=GET,POST tunnel=GET,POST |
allowPreflight | true false |
true | n/a |
maxAge | cache-time | 0 | n/a |
balancedHost | load-balancer-name | OFF | n/a |
portalHost... | gateway-name | OFF | n/a |
chromeExtension... | chrome-extension-hash | ppkfnjlimknmjoaemnpidmdlfchhehel
참고: 이 값은 Chrome용
Horizon Client에 대한 Chrome 확장 ID입니다.
|
n/a |
다음은 locked.properties 파일의 CORS 속성 예제입니다.
enableCORS = true allowPreflight = true checkOrigin = true checkOrigin-misc = false allowMethod.1 = GET allowMethod.2 = HEAD allowMethod.3 = POST allowMethod-saml.1 = GET allowMethod-saml.2 = HEAD acceptContentType.1 = application/x-www-form-urlencoded acceptContentType.2 = application/xml acceptContentType.3 = text/xml
원본 검사
원본 검사는 기본적으로 사용되도록 설정됩니다. 사용되도록 설정되면 원본이 없거나, 원본이 외부 URL에 지정된 주소, balancedHost 주소, portalHost 주소, chromeExtension 해시, null 또는 localhost인 경우에만 요청이 수락됩니다. 원본이 이러한 항목 중 하나가 아니면 "예기치 않은 원본" 오류가 로깅되고 상태 404가 반환됩니다.
checkReferer=true
여러 개의 연결 서버 호스트가 로드 밸런싱된 경우 locked.properties 파일에 balancedHost 항목을 추가하여 로드 밸런서 주소를 지정해야 합니다. 이 주소에서는 포트 443이 가정됩니다.
클라이언트가 Unified Access Gateway 장치 또는 다른 게이트웨이를 통해 연결되면 portalHost 항목을 locked.properties 파일에 추가하여 모든 게이트웨이 주소를 지정해야 합니다. 이러한 주소에서는 포트 443이 가정됩니다. 또한 portalHost 항목을 지정하여 외부 URL이 지정하는 이름과 다른 이름으로 연결 서버 호스트에 대한 액세스를 제공해야 합니다.
Chrome 확장 클라이언트는 초기 원본을 고유한 ID로 설정합니다. 연결이 성공하려면 locked.properties 파일에 chromeExtension 항목을 추가하여 확장을 등록합니다. 예:
chromeExtension.1=bpifadopbphhpkkcfohecfadckmpjmjd