如何使用nginx解决前端跨域问题
2019-11-1
注:前端项目是用h5写的,在浏览器运行,因为浏览器的同源策略,调用接口时会出现跨域问题,现使用nginx解决这个问题(开发环境是在mac端)
安装nginx
brew install nginx
nginx安装完之后可以使用nginx -v 来验证是否安装成功,如果出现版本信息则安装成功
修改nginx.conf
- mac一般在/usr/local/etc/nginx目录下
cd /usr/local/etc/nginx/
- 打开nginx.conf
vim nginx.conf
- 编辑nginx.conf文件:找到 http 下的 server,修改配置如下
server {
listen 5000; //监听端口
server_name localhost //主机名称
location / {
root /Users/unicom/chenjia/face; //文件根目录
index index.html index.htm; //默认起始页
}
location /apis { //前端请求/apis都转到http://192.168.191:8080
rewrite ^.+apis/?(.*)$ /$1 break;
include uwsgi_params;
proxy_pass http://192.168.191.1:8080;
}
}
修改请求路径
$.ajax({
type: 'post',
url: '/apis/ttface/detectlandmark'
})
浏览器打开页面:localhost:5000/index/html 。请求成功,不再提示跨域