博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
跨越解决方案之nginx
阅读量:6718 次
发布时间:2019-06-25

本文共 1527 字,大约阅读时间需要 5 分钟。

这里是修真院前端小课堂,每篇分享文从

【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

八个方面深度解析前端知识/技能,本篇分享的是:

【跨越解决方案之nginx】

 

1.背景介绍

跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。

所谓同源是指,域名,协议,端口相同。浏览器执行javascript脚本时,会检查这个脚本属于那个页面,如果不是同源页面,就不会被执行。

同源策略的目的,是防止黑客做一些做奸犯科的勾当。比如说,如果一个银行的一个应用允许用户上传网页,如果没有同源策略,黑客可以编写一个登陆表单提交到自己的服务器上,得到一个看上去相当高大上的页面。黑客把这个页面通过邮件等发给用户,用户误认为这是某银行的主网页进行登陆,就会泄露自己的用户数据。而因为浏览器的同源策略,黑客无法收到表单数据。

2.知识剖析

随着现在开发的前后端分离,我们只需要Server端告诉我们Api URL即可,那么这会产生一个问题:Ajax跨域。

配置nginx

listen     1008;   //监听的窗口

server_name  localhost;   #监听的地址

location /{

root   F:/WebstormProjects/skill-admin-html/branches/skill-admin-html-18.0.branch;  //根目录

index  index.html index.htm;  //设置默认页

try_files $uri $uri/ /index.html =404;

}

location /ajax/{

proxy_pass   :10011/;  //服务器的地址

proxy_set_header            Host                            $host;

proxy_set_header            X-Real-IP                       $remote_addr;

proxy_set_header            X-Forwarded-For                 $proxy_add_x_forwarded_for;

}

3.常见问题

1、Nginx 常见错误

  1.  端口占用问题

2.Nginx所在目录有中文

3、502 Bad Gateway、503 Serveice Unavailable

4、 504 Gateway Timeout

4.解决方案

1、我的配置文件里服务侦听的是 80 端口,但80端口被占用了,我们更换端口就可以了,

2、目录是不能有中文

3、 一般原因:后端服务无法处理,业务中断。

解决方法:从后端日志获取错误原因,解决后端服务器问题。

4、一般原因:后端服务器在超时时间内,未响应Nginx代理请求

解决方法:根据后端服务器实际处理情况,调正后端请求超时时间。

5.编码实战

6.扩展思考

跨域的其他解决方法

1.jsonp 需要目标服务器配合一个callback函数。

2.window.name+iframe 需要目标服务器响应window.name。

3.window.location.hash+iframe 同样需要目标服务器作处理。

4.html5的 postMessage+ifrme 这个也是需要目标服务器或者说是目标页面写一个postMessage,主要侧重于前端通讯

5.CORS  需要服务器设置header :Access-Control-Allow-Origin。

7.参考文献

"http://www.cnblogs.com/liyongsan/p/6795851.html">nginx常见问题

l">nginx的反向代理机制解决前端跨域问题

你可能感兴趣的文章
绕过 Windows 10 Cloud 限制 成功运行 Win32 应用程序
查看>>
Alamofire —— Swift 的 HTTP 客户端开发包
查看>>
《程序员的呐喊》一一1.13 弱类型机制够不够强
查看>>
Windows 10 Redstone 终将引入交互式动态瓷贴
查看>>
《机器人与数字人:基于MATLAB的建模与控制》——3.1节平移和旋转
查看>>
《途客圈创业记:不疯魔,不成活》一一1.3 iWeekend创业周末
查看>>
《精通SNMP》——2.4 标签类型和子类型
查看>>
《云数据中心构建实战:核心技术、运维管理、安全与高可用》——导读
查看>>
《Python自动化运维:技术与最佳实践》一2.4 探测Web服务质量方法
查看>>
《Android UI基础教程》——2.4节显示列表
查看>>
《Scala机器学习》一一1.5 使用Scala和Spark的Notebook工作
查看>>
Fast-FrameWork v0.1.1,JDK 8 MVC 框架
查看>>
《IP组播(第1卷)》一导读
查看>>
《高效能程序员的修炼》一学会读源代码
查看>>
3大军团、266个项目,菜鸟技术如何玩转双11项目管理?
查看>>
魅族隔空回应雷军:开放 Flyme 对抗 MIUI
查看>>
成为阿里云大使的笔记
查看>>
《深入解析IPv6(第3版)》——2.10 参考文献
查看>>
《Adobe Illustrator CC经典教程》—第0课0.16节使用文字
查看>>
企业安全:从触觉时代到视觉时代
查看>>