Конфигурирование Windchill для разрешения запросов совместного использования ресурсов между разными источниками (CORS)
В целях безопасности браузеры ограничивают HTTP-запросы между разными источниками, инициированные веб-сайтами сторонних компаний. PTC рекомендует включить запросы между разными источниками на сервере Windchill, чтобы разрешить запросы загрузки со сторонних веб-сайтов. Используя фильтры Tomcat CORS, можно включить в Windchill запросы выгрузки и загрузки.
Если сервер Windchill уже сконфигурирован для использования фильтров CORS, необходимо объединить существующую конфигурацию с описанной ниже конфигурацией. Фильтры CORS необходимо повторно сконфигурировать после обновления Windchill.
Администраторы сайта должны сконфигурировать фильтры CORS, чтобы разрешить запросы HTTP между разными источниками, выполнив следующие действия. Эта конфигурация применима к главному сайту и сайту и файлового сервера Windchill.
1. Перейдите к файлу <Windchill_Home>\codebase\WEB-INF\web.xml.
2. Измените файл web.xml, используя ContentCorsFilter и ContentHttpHeaderSecurityFilter вместе с конфигурациями Mapping следующим образом:
<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 должен иметь значение "истина".
• Задайте ALLOWED_ORIGINS в следующем формате: http://Site1.domain.com:8080,https://Site2.domain.com:8443.
|
3. Сохраните файл.web.xml
4. Перезапустите сервер Windchill.
|
Гибридная конфигурация, в которой сервер Windchill использует HTTPS, а веб-сайт стороннего производителя не использует HTTPS, не поддерживается.
|