Nginx
- Nginx是前端独立解决跨域而不依赖后端的方法
实现原理
- 类似于Node中间件代理,需要搭建一个中转Nginx服务器,用于转发请求。
- 使用Nginx反向代理实现跨域,是最简单的跨域方式。只需要修改Nginx的配置即可解决跨域问题,支持所有浏览器,支持session,不需要修改任何代码,并且不会影响服务器性能。
- Nginx反向代理的思路,就是通过Nginx解析URL地址的时候进行判断,将请求转发的具体的服务器上。
- 使用Nginx转发请求。把跨域的接口写成调本域的接口,然后将这些接口转发到真正的请求地址。
用户请求不同的服务时,Nginx会将请求转发给对应的服务,从而达到跨域的目的。
例:当用户请求xx.720ui.com/server1的时候,Nginx会将请求转发给Server1这个服务器上的具体应用。
Nginx配置
一个例子
调试页面的地址是:http://192.168.1.100:8080/
请求的接口地址是:http://aaa/api/get/info
步骤
- 1.请求的接口为:http://192.168.1.100:8080/api/get/info
- 2.安装好Nginx后,去到去到/usr/local/etc/nginx/目录(Mac),修改nginx.conf文件。
- 3.把默认的server配置注释掉。在下面增加: ,保存后,启动Nginx,即可。
server{
listen 8888;
server_name 192.168.1.100;
location /{
proxy_pass http://192.168.1.100:8080;
}
location /api{
proxy_pass http://aaa/api;
}
}
*4.访问:http://192.168.1.100:8888/。
注意访问的端口是‘8888’,有其他域的地址继续加location就行了。