我有一个正在运行的tomcat 7和java应用程序实例。我想复制该实例。在Amazon中,我单击了“创建映像”,并从中启动了一个新实例。之后,我尝试使用新实例。当我发出简单的请求时,它起作用,但是当我从浏览器尝试时,出现CORS错误:
Access to XMLHttpRequest at 'https://xxxxxx/getConfiguration' from origin 'http://xxxxxx:9000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
我的服务器或前端配置没有任何变化。当我使用旧服务器时,它可以工作。cors过滤器是相同的:
<filter>
<filter-name>CORS</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowOrigin</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.supportsCredentials</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.headers</param-name>
<param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified, Access-Control-Request-Method,Access-Control-Request-Headers,authorization</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.methods</param-name>
<param-value>GET,POST,HEAD,OPTIONS,PUT,DELETE</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
比较您使用的init参数名称
<init-param>
<param-name>cors.allowOrigin</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.supportsCredentials</param-name>
<param-value>false</param-value>
</init-param>
和Tomcat 7的配置参考文档。您拼写错误。
的默认值cors.allowed.origins
已在2018年5月(对于Tomcat 7.0.89、8.5.32、9.0.9)进行了更改,以解决CVE-2018-8014(错误62343)的问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句