CORS(Cross-Origin Resource Sharing) 요청을 허용하도록 Windchill 구성
보안상의 이유로 브라우저는 타사 웹사이트에서 시작된 교차 원본 http 요청을 제한합니다. Windchill 서버에서 교차 원본 요청을 사용하여 타사 웹 사이트의 다운로드 요청을 허용하는 것이 좋습니다. Tomcat CORS 필터를 사용하여 Windchill에서 업로드 및 다운로드 요청을 모두 사용하도록 설정할 수 있습니다.
Windchill 서버가 CORS 필터에 대해 이미 구성되어 있는 경우 기존 구성을 아래 설명된 구성으로 병합해야 합니다. Windchill 업데이트 및 업그레이드 후에는 CORS 필터를 다시 구성해야 합니다.
사이트 관리자는 다음 절차를 통해 교차 원본 http 요청을 허용하도록 CORS 필터를 구성해야 합니다. 이 구성은 Windchill 마스터 및 파일 서버 사이트에 적용할 수 있습니다.
1. <Windchill_Home>\codebase\WEB-INF\web.xml로 이동합니다.
2. Mapping 구성과 함께 다음 ContentCorsFilter 및 ContentHttpHeaderSecurityFilter를 사용하여 web.xml 파일을 업데이트합니다.
<filter>
<filter-name>ContentCorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>[ALLOWED_ORIGINS]</param-value>
</init-param>
<init-param>
<param-name>cors.support.credentials</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.methods</param-name>
<param-value>GET,POST,OPTIONS</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.headers</param-name>
<param-value>Content-Type,X-Requested-With</param-value>
</init-param>
</filter>
<filter>
<filter-name>ContentHttpHeaderSecurityFilter</filter-name>
<filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
<init-param>
<param-name>antiClickJackingOption</param-name>
<param-value>ALLOW-FROM</param-value>
</init-param>
<init-param>
<param-name>antiClickJackingUri</param-name>
<param-value>[ALLOWED_ORIGINS]</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>ContentCorsFilter</filter-name>
<url-pattern>/servlet/WindchillAuthGW/wt.content.ContentHttp/viewContent/*</url-pattern>
<url-pattern>/servlet/WindchillGW/wt.fv.master.StandardMasterService/doDirectDownload/*</url-pattern>
<url-pattern>/servlet/WindchillGW/wt.fv.replica.StandardReplicaService/doDownload/*</url-pattern>
<url-pattern>/servlet/WindchillGW/wt.fv.replica.StandardReplicaService/doIndirectDownload/*</url-pattern>
<url-pattern>/servlet/WindchillGW/wt.fv.uploadtocache.DoUploadToCache_Server/doUploadToCache_Master</url-pattern>
<url-pattern>/servlet/WindchillGW/wt.fv.uploadtocache.DoUploadToCache_Server/doUploadToCache_Replica</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>ContentHttpHeaderSecurityFilter</filter-name>
<url-pattern>/servlet/WindchillAuthGW/wt.content.ContentHttp/viewContent/*</url-pattern>
<url-pattern>/servlet/WindchillGW/wt.fv.master.StandardMasterService/doDirectDownload/*</url-pattern>
<url-pattern>/servlet/WindchillGW/wt.fv.replica.StandardReplicaService/doDownload/*</url-pattern>
<url-pattern>/servlet/WindchillGW/wt.fv.replica.StandardReplicaService/doIndirectDownload/*</url-pattern>
<url-pattern>/servlet/WindchillGW/wt.fv.uploadtocache.DoUploadToCache_Server/doUploadToCache_Master</url-pattern>
<url-pattern>/servlet/WindchillGW/wt.fv.uploadtocache.DoUploadToCache_Server/doUploadToCache_Replica</url-pattern>
</filter-mapping>
|
• 쉼표로 구분된 목록을 사용하여 원하는 웹 주소로 cors.allowed.origin 및 antiClickJackingUri 매개 변수를 업데이트합니다. cors.support.credentials는 반드시 true여야 하므로 별표(*)는 사용하지 마십시오.
• ALLOWED_ORIGINS는 http://Site1.domain.com:8080,https://Site2.domain.com:8443. 형식으로 설정합니다.
|
3. web.xml 파일을 저장합니다.
4. Windchill 서버를 다시 시작합니다.
|
Windchill 서버가 HTTPS이고 타사 웹 사이트가 HTTPS가 아닌 복합형 구성은 지원되지 않습니다.
|