添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
1. 更新位於 <Apache Tomcat Install>\webapps\Thingworx\WEB-INF\ 中的 web.xml 檔案,方法是將下列 CorsFilter CorsFilter Mapping 作為第一個參數放置於緊跟在 </session-config> 行之後:
<filter>
<filter-name>CorsFilter</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.allowed.methods</param-name>
<param-value>OPTIONS,GET,POST,HEAD,PUT,DELETE</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.headers</param-name>
<param-value>Authorization,appKey,x-thingworx-session,Content-Type,X-Requested-With,Origin,Access-Control-Request-Method,Access-Control-Request-Headers,Accept</param-value>
</init-param>
<init-param>
<param-name>cors.exposed.headers</param-name>
<param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value>
</init-param>
<init-param>
<param-name>cors.support.credentials</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>cors.preflight.maxage</param-name>
<param-value>10</param-value>
</init-param>
<init-param>
<param-name>cors.request.decorate</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
請注意下列事項:
cors.allowed.origins 參數更新為所需的網址。
可使用逗號分隔符號指定多個允許的來源。例如, https://origin1.com, https://origin2.com
* 可專門用於允許來自所有來源的請求。* 只能單獨使用,以允許所有來源。* 不能作為 URI 的一部份使用。
對於使用 PingFederate 進行單一登入 (SSO) 的環境,請確保將 PingFederate Runtime Server FQDN 新增為允許的來源。
http://<Ping Federate FQDN>:9301 http://<Ping Federate FQDN>:9031
視需要為 cors.allowed.headers 參數新增或移除任何自訂標題。
cors.support.credentials 設為 true 可允許進行基本驗證。
2. web.xml 檔案中與 OPTIONS 相關的以下區塊加上註解。
<!-- <security-constraint>
<web-resource-collection>
<web-resource-name>Forbidden</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>OPTIONS</http-method>
</web-resource-collection>
<auth-constraint/>
</security-constraint> -->
3. 儲存 web.xml 檔案。
4. 重新啟動 Apache Tomcat。
其他詳細資訊
進行任何 ThingWorx 升級之後,都需要重新啟用 CORS,因為在此程序中會移除 <Tomcat Home>\webapps\Thingworx 資料夾 。如需詳細資訊,請參閱您的 Tomcat 版本的 官方 Apache Tomcat 組態參考
您可以使用線上 Javascript 編輯器並執行以下其中一個指令集來測試 CORS。
應用程式金鑰驗證
<script>
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://[THINGWORX_HOST]:[PORT]/Thingworx/Things", true);
xhr.setRequestHeader("appKey", "<APPLICATION_KEY>");
xhr.setRequestHeader("accept", "application/json");
xhr.send();
</script>