利用nginx 反向代理解决跨域问题
来源:互联网 发布:时时彩源码免费下载 编辑:程序博客网 时间:2024/04/30 17:49
原文网址: http://www.cnblogs.com/bninp/p/5694277.html
利用nginx 反向代理解决跨域问题
说到nginx,不得不说真的很强大,也带来很多便利用于解决一些头疼的难题。
一般来说可以用来做:静态页面的服务器、静态文件缓存服务器、网站反向代理、负载均衡服务器等等,而且实现这一切,基本只需要改改那万能的配置文件即可。
之前的博文记录了作为负载均衡。这里先记录一下作为静态页面的服务器和反向代理跨域的使用。
结合之前 《angularjs+webapi2 跨域Basic 认证授权》的案例,对跨域的方式进行改造一下。
一.静态页面服务器
nginx.conf 的配置(其实默认的也是如此,所以作为静态服务器只需要将静态文件移动到nginx下的html文件夹里就可以了)
server {
listen 8094; #监听端口
server_name localhost; #
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;#文件根目录
index index.html index.htm;#默认起始页
}
}
然后打开浏览器 输入 localhost:8094 即可
就是这么简单
二.反向代理服务器-》跨域
之前我们跨域是借助了浏览器对 Access-Control-Allow-Origin 的支持。但有些浏览器是不支持的,所以这并非是最佳方案
现在我们来利用nginx 通过反向代理 满足浏览器的同源策略实现跨域
首先,我先注释掉之前的跨域设置
然后访问一下index1.html
提示了跨域问题
然后我们回到nginx.conf 配置一个反向代理路径(新增红色部分)
server { listen 8094; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } location /apis { rewrite ^.+apis/?(.*)$ /$1 break; include uwsgi_params; proxy_pass http://localhost:1894; }
}
配置说明:配置一个/apis 重写到我们真正的api地址http://localhost:1894 形成一个代理的过程。
然后更改一下index1.html的api请求地址
这样这个api的地址就跟当前页面index1.html处于同源位置了。就是我们配置的nginx监听地址 localhost:8094
然后我们再次在浏览器中访问 index1.html 可能请求到的知识缓存页面 请清除缓存或重启nginx
没有了跨域问题。 这里因为我之前登陆过 并记录了 token 所以没有提示登录
小结:写得不是很细,当作笔记,如伤过客,诚挚抱歉。
- 利用nginx 反向代理解决跨域问题
- 利用nginx 反向代理本地解决跨域问题
- 利用nginx 反向代理解决跨域问题
- Nginx反向代理解决跨域问题
- nginx反向代理解决跨域问题
- 如何解决web浏览器跨域问题——利用反向代理nginx/apache/nodejs
- nginx反向代理-解决前端跨域问题
- 跨域问题,解决方案 - Nginx反向代理
- Ngix反向代理解决跨域问题
- 利用nginx的upstream做反向代理解决内网域名转发的问题
- ajax完美解决跨域问题(jsonp、nginx反向代理)
- 用nginx的反向代理机制解决前端跨域问题
- ajax完美解决跨域问题(jsonp、nginx反向代理)
- 前端接口调试 -- 通过Nginx反向代理机制解决跨域问题
- 用nginx的反向代理机制解决前端跨域问题
- 用nginx的反向代理机制解决前端跨域问题
- 用nginx的反向代理机制解决前端跨域问题
- 前后端nginx部署(反向代理解决跨域问题)
- 缓存使用中Redis,Memcached的共性和差异分析
- webpack 配置总结
- (奇怪的暴力)codeforces 731F 354C
- 152.Maximum Product Subarray
- 预处理标识符
- 利用nginx 反向代理解决跨域问题
- Spring中的代理模式
- ArrayList学习16天
- java 子类与父类的方法
- [LeetCode412] Fizz Buzz
- Hbase完全分布式安装
- 【设计模式 - 16】之迭代器模式(Iterator)
- 树莓派3Raspbian-jessie编译安装ROS Indigo完整版
- 预研究的一些小知识点