nginx反向代理及js跨域问题

首先说一下什么是js跨域问题:
js跨域指的是js在不同域之间进行数据传输或通信,域名、端口、协议任何一个不同都会被认为是不同域,由于javascript安全策略中的同源策略限制了跨域所以会导致这种通信不被允许。
以下表格形象地描述了各种场景:
URL 说明 是否允许通信
http://www.a.com/a.js 
http://www.a.com/b.js
同一域名下 允许
http://www.a.com/lab/a.js 
http://www.a.com/script/b.js
同一域名下不同文件夹 允许
http://www.a.com:8000/a.js 
http://www.a.com/b.js
同一域名,不同端口 不允许
http://www.a.com/a.js 
https://www.a.com/b.js
同一域名,不同协议 不允许
http://www.a.com/a.js 
http://70.32.92.74/b.js
域名和域名对应ip 不允许
http://www.a.com/a.js 
http://script.a.com/b.js
主域相同,子域不同 不允许
http://www.a.com/a.js 
http://a.com/b.js
同一域名,不同二级域名(同上) 不允许(cookie这种情况下也不允许访问)
http://www.cnblogs.com/a.js 
http://www.a.com/b.js
不同域名 不允许
nginx的反向代理功能能够有效解决跨域问题,通过conf文件夹下的nginx.conf配置文件中的属性来设置这一功能。以下配置将部署在springboot内置的jetty服务器(端口8080)的请求映射到了nginx上
location /service {
            proxy_pass http://127.0.0.1:8080/service;
        }
        location /loginService {
            proxy_pass http://127.0.0.1:8080/loginService;
        }
        location /mobileService {
            proxy_pass http://127.0.0.1:8080/mobileService;
        }
配置了这些之后,我们本来要访问jetty的url,端口改为nginx对应的端口就能正常访问了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值