跨域
当一个请求的协议、域名、端口名三者,有任何一个不同则会出现跨域,只有浏览器才会出现跨域问题,被浏览器的安全策略所限制
跨域问题可以通过前台过滤器解决或者用nginx解决,要定位好哪里存在跨域问题
server {
listen 80;
server_name 111.222.33.444 aa.cn;
location / {
root html;
index index.html index.htm;
}
location /test/byhl/ {
proxy_pass http://444.55.666.77:9090/byhl/;
proxy_redirect off;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 100m;
index index.html index.htm;
add_header X-Frame-Options "SAMEORIGIN";
}
nginx监听80端口
请求url:http://aa.cn/test/byhl/jwt/token
后台url:http://444.55.666.77:9090/byhl/jwt/token
当想监听非80端口时,多加一个server即可,但需注意,servername书写得是有用的域名
若一个nginx监听一个端口,该端口只有一个server,那么该servername可以随便写,因为nginx监听某个端口,当端口发生变化且没有对应的servername时,那么将默认调用第一个server
附上重写proxy_pass的规则介绍
https://www.jianshu.com/p/c751250a5112