Конфигурирование 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/WindchillAuthGW/wt.fv.master.StandardMasterService/doDirectDownload/*</url-pattern>
<url-pattern>/servlet/WindchillAuthGW/wt.fv.replica.StandardReplicaService/doDownload/*</url-pattern>
<url-pattern>/servlet/WindchillAuthGW/wt.fv.replica.StandardReplicaService/doIndirectDownload/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>ContentHttpHeaderSecurityFilter</filter-name>
<url-pattern>/servlet/WindchillAuthGW/wt.content.ContentHttp/viewContent/*</url-pattern>
<url-pattern>/servlet/WindchillAuthGW/wt.fv.master.StandardMasterService/doDirectDownload/*</url-pattern>
<url-pattern>/servlet/WindchillAuthGW/wt.fv.replica.StandardReplicaService/doDownload/*</url-pattern>
<url-pattern>/servlet/WindchillAuthGW/wt.fv.replica.StandardReplicaService/doIndirectDownload/*</url-pattern>
</filter-mapping>
|
Обновите параметры cors.allowed.origin и antiClickJackingUri, указав нужные веб-адреса в виде списка, разделенного запятыми. Не используйте звездочку (*), поскольку параметр cors.support.credentials должен иметь значение "истина".
|
3. Сохраните файл.web.xml
4. Перезапустить сервер Windchill.