前言: 项目部署在阿里云的服务器的tomcat上,浏览器访问由nginx转发到tomcat服务器。一开始我是在本地idea里面运行,然后在浏览器上测试没有任何问题,但一放到tomcat上运行用https访问就报跨域(因为需要使用到小程序,所以必须得用https),然后找了许久才找到解决办法。解决方法如下:
在tomcat的 web.xml 文件里边加上跨域支持
<!-- 跨域支持 -->
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
<init-param>
<param-name>cors.allowOrigin</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.supportedMethods</param-name>
<param-value>GET, POST, HEAD, PUT, DELETE</param-value>
</init-param>
<init-param>
<param-name>cors.supportedHeaders</param-name>
<param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value>
</init-param>
<init-param>
<param-name>cors.exposedHeaders</param-name>
<param-value>Set-Cookie</param-value>
</init-param>
<init-param>
<param-name>cors.supportsCredentials</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

然后再把以下两个jar包放到tomcat的lib目录下

jar包链接:https://pan.baidu.com/s/1XcXnpLZHXnJ_4AjKPduQoQ
提取码:
w22t
最后重启tomcat就可以
本文只为自己记录问题,如想看原文,请移步:https://www.cnblogs.com/JMrLi/p/13739718.html
在将项目部署到阿里云的tomcat服务器并使用nginx转发时,遇到HTTPS访问的跨域问题。通过在tomcat的web.xml中添加跨域支持,将特定的jar包放入tomcat的lib目录,然后重启服务器,成功解决了跨域问题。

2458

被折叠的 条评论
为什么被折叠?



