首页 / NGINX / CORS跨域与Nginx反向代理
CORS跨域与Nginx反向代理
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了CORS跨域与Nginx反向代理,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2170字,纯文字阅读大概需要4分钟。
内容图文
![CORS跨域与Nginx反向代理](/upload/InfoBanner/zyjiaocheng/982/88f1dc2ed592433e9783f296ff4d5672.jpg)
最近的项目都是关于前后端分离的,当我们把项目横向分层前后端分离后,由于浏览器安全限制会发现请求出现异常,主要原因是浏览器的同源策略(协议、域名和端口)是否相同。
解决方案:
解决跨域的方法有很多,如
(1)通过jsonp跨域
(2)通过修改document.domain来跨子域
(3)使用window.name来进行跨域
(4)使用HTML5中新引进的window.postMessage方法来跨域传送数据
(5)使用代理服务器
(6)CORS全称是"跨域资源共享"
本文主要讲解CORS跨域和Ningx反向代理。
CORS跨域:
CORS方案:跨域时部分浏览器默认不携带cookie,因此为了携带cookie需要在前端设置xmlhttprequest的withCrendetalls属性。
同时在后端拦截器在响应头中设置跨域设置
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with, Content-Type");
response.setHeader("Access-Control-Allow-Credentials", "true");
Nginx反向代理
nginx反向代理,通过修改nginx配置文件实现反向代理,请求统一通过nginx分发请求
Nginx配置(192.168.75.139)
# 负载均衡
upstream my_site {
server 192.168.75.138:8080;
server 192.168.75.137:8080;
server 192.168.75.136:8080;
}
server {
listen 8081;
server_name localhost;
location ^~ /api/ {
proxy_pass http://my_site/;
proxy_set_header Host $host;
proxy_set_header X-Real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location = / {
proxy_pass http://my_site/nginx/indexNginxCrossQuest.jsp;
}
location = /nginx/ {
proxy_pass http://my_site/nginx/;
proxy_set_header Host $host;
proxy_set_header X-Real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ \.(html|htm|ico|png|jpg|jpeg|js|css|bmp)$ {
proxy_pass http://my_site;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
浏览器请求(192.168.75.1)
综合对比
CORS | Nginx反向代理 | |
---|---|---|
前端代码配置 | credentials=true | 无 |
后端代码配置 | setHeader:Allow-Origin、Allow-Methods等 | 无 |
服务端配置 | 无 | Nginx配置 |
移植灵活性 | 高、无额外配置 | 低、每增加一个环境都需要增加配置 |
安全性 | 高、来源可控、直接追溯 | X-Forwarded-For追溯多级来源 |
安全控制 | 黑白名单 | 更新配置 |
内容总结
以上是互联网集市为您收集整理的CORS跨域与Nginx反向代理全部内容,希望文章能够帮你解决CORS跨域与Nginx反向代理所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。