Nginx和tomcat跨域问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx和tomcat跨域问题相关的知识,希望对你有一定的参考价值。

项目用途:机顶盒 Portal 

环境说明:

1、使用nginx 1.8.1 加载静态页面 *.html在静态页面上去调用服务接口

2、Tomcat 6 加载项目;

遇到问题:机顶盒访问不了页面,无法加载数据。

分析:

1、查看接口日志,传入与输出信息均正常;

2、抓包,分析数据显示没有问题。

Ajax 就是接收不到返回的数据信息,找了很久这个问题,原来是跨域给拦截了。

流程,如图:

技术分享

解决方案 1:

    修改tomcat配置文件tomcat/conf/web.xml,修改过滤器配置,添加:

    <filter>

        <filter-name>CorsFilter</filter-name>

        <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>

    </filter>

    <filter-mapping>

        <filter-name>CorsFilter</filter-name>

        <url-pattern>/*</url-pattern>

    </filter-mapping>

注意:tomcat版本需要 在tomcat7.0.4 以上;


解决方案 2:

修改Nginx配置文件,这个没有做验证,在这里不做详细描述。


特别感谢 杨老师、钱老师 。



以上是关于Nginx和tomcat跨域问题的主要内容,如果未能解决你的问题,请参考以下文章

Nginx部署前后端项目时的跨域问题

Tomcat / Nginx 跨域

nginx的基本使用及配置负载均衡解决前后端分离跨域问题

SpringSession和Redis实现Session跨域

使用 Nginx 部署前后端分离项目,解决跨域问题

Redis实战和核心原理详解使用Spring Session和Redis解决分布式Session跨域共享问题