nginx反向代理請求域名,跨域問題
在使用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;
}
}