CPRS(크로스 원본 리소스 공유) 기능은 요청 시 클라이언트에 정책 정보를 제공하고 요청이 정책을 준수하는지를 확인하여 클라이언트 측 크로스 원본 요청을 조절합니다. 필요한 경우 이 기능을 다시 구성하거나 사용하지 않도록 설정할 수 있습니다.
정책에는 수락될 수 있는 HTTP 메서드 집합, 요청을 시작할 수 있는 위치 및 유효한 컨텐츠 유형이 포함됩니다. 이러한 정책은 요청 URL에 따라 다르며 locked.properties 파일에 항목을 추가하여 필요에 따라 다시 구성할 수 있습니다.
속성 이름 뒤에 있는 생략 부호는 속성이 목록을 수락할 수 있음을 나타냅니다.
CORS 속성
| 속성 | 값 유형 | 주요 기본값 | 기타 기본값 |
|---|---|---|---|
| enableCORS | true false | true | 해당 사항 없음 |
| 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 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 | * | 해당 사항 없음 |
| filterHeaders | true false | true | 해당 사항 없음 |
| checkOrigin | true false | true | 해당 사항 없음 |
| checkReferer | true false | false | 해당 사항 없음 |
| allowCredentials | true false | false | (Horizon 2312 및 이전 버전) admin, broker, health, misc, portal, rest, saml, tunnel, view-vlsi, view-vlsi-rest = true
(Horizon 2406 이상) admin, broker, health, portal, rest, root, saml, tunnel, view-vlsi, view-vlsi-rest, ws1 = true |
| allowMethod... | http-method-name | GET,HEAD,POST | dct=GET docroot=GET health=GET,HEAD misc=GET,HEAD(Horizon 2312 및 이전 버전) rest=GET,POST,PUT,PATCH,DELETE root=GET(Horizon 2406 이상) saml=GET,HEAD tunnel=GET,POST |
| allowPreflight | true false | true | 해당 사항 없음 |
| maxAge | cache-time | 0 | 해당 사항 없음 |
| balancedHost...
참고: Horizon 2111.1/2209부터는 여기에서 수행하는 대신 Horizon Console을 사용하여 로드 밸런서를 설정합니다. | load-balancer-name | OFF | 해당 사항 없음 |
| portalHost... | gateway-name | OFF | 해당 사항 없음 |
| chromeExtension... | chrome-extension-hash | ppkfnjlimknmjoaemnpidmdlfchhehel 참고: 이 값은 Chrome용 Horizon Client에 대한 Chrome 확장 ID입니다. | 해당 사항 없음 |
| iwaBundleId...
참고: 이 속성은 버전 2406 이상에 적용됩니다. | chrome-client-bundle-id | ckg65ilaae42o6wd3uj4xfwznhba7pz2p6kojga5c27hkwq5f66qaaic
참고: 이 값은 Horizon IWA Client에 대한 Chrome 번들 ID용입니다. | 해당 사항 없음 |
| blockHtmlAccess 참고: 이 속성은 버전 2212 이상에 적용됩니다. | true false | false | 해당 사항 없음 |
| blockSwaggerDocs 참고: 이 속성은 버전 2111.2, 2212.1, 2303 이상에 적용됩니다. | true false | false 참고: REST API 문서 제공을 방지하려면 true로 설정합니다. | 해당 사항 없음 |
다음은 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가 반환됩니다.
참고: 일부 브라우저는 원본 헤더를 제공하지 않거나 항상 제공하지 않습니다. 선택적으로 원본 헤더가 없으면 요청하여 Referer 헤더를 확인할 수 있습니다. Referer 헤더의 헤더 이름에는 "r"이 하나 있습니다. Referer 헤더를 확인하려면 locked.properties 파일에 다음 속성을 추가하십시오.
checkReferer=true
여러 개의 연결 서버 호스트가 로드 밸런싱된 경우 locked.properties 파일에 balancedHost 항목을 추가하여 로드 밸런서 주소를 지정해야 합니다. 이 주소에서는 포트 443이 가정됩니다.
클라이언트가 Unified Access Gateway 장치 또는 다른 게이트웨이를 통해 연결되면 portalHost 항목을 locked.properties 파일에 추가하여 모든 게이트웨이 주소를 지정해야 합니다. 이러한 주소에서는 포트 443이 가정됩니다. 또한 portalHost 항목을 지정하여 외부 URL이 지정하는 이름과 다른 이름으로 연결 서버 호스트에 대한 액세스를 제공해야 합니다.
Horizon 2312 및 이전 버전의 경우 Chrome 확장 클라이언트는 초기 원본을 고유한 ID로 설정합니다. 연결이 성공하려면 locked.properties 파일에 chromeExtension 항목을 추가하여 확장을 등록합니다. 예:
chromeExtension.1=bpifadopbphhpkkcfohecfadckmpjmjd
Horizon 2406 이상의 경우 Chrome 확장 클라이언트와 격리된 웹 애플리케이션은 초기 원본을 고유한 ID로 설정합니다. 연결이 성공하려면 locked.properties 파일에 chromeExtension 또는 iwaBundleId 항목을 추가하여 확장 또는 번들을 등록합니다. 예:
chromeExtension.1=bpifadopbphhpkkcfohecfadckmpjmjd
iwaBundleId.1=ckg65ilaae42o6wd3uj4xfwznhba7pz2p6kojga5c27hkwq5f66qaaic
호스트 검사도 참조하십시오.
이 페이지가 도움이 되었나요?