首页 > 代码库 > Nginx和tomcat跨域问题

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跨域问题