在使用nginx做方向代理,监听A域名发起的请求转向B域名,由于只是做了简答的代理,导致项目反向代理后,项目发起的请求域名是代理后发起的域名,从而导致跨域问题,如下:
server {
listen 80;
server_name *.a.cn;
client_max_body_size 200m;
location / {
proxy_pass http://b.com; #指定反向代理
index index.jsp;
}
}
项目中会出现b.com/print/的请求;
对反向代理做如下处理,修改后:
server {
listen 80;
server_name www.xiaoyuanh.cn xiaoyuanh.cn;
client_max_body_size 200m;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; #获取真实ip
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#获取代理者的真实ip
proxy_pass http://m5of2x.internetsir.net; #转向 处理
proxy_redirect off;
}
}