在开发环境下我们通常采用proxyTable代理来解决跨域问题,但是当我们开发某功能完毕时,需要进行打包,将打包的文件上传到生产环境下,这时会出现跨域问题,通常解决办法采用nginx做代理
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,它能够解决开发或则生产模式下的跨域问题
以上是本人的nginx的代理配置
server {
listen 80; #端口
server_name web.yoniu.cn;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root E:\study\wnmp\PHPTutorial\WWW; #路径
try_files $uri $uri/ /index.html;
add_header 'Access-Control-Allow-Origin' '*';
index index.html index.htm;
}
location /api/ {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'POST,GET,OPTIONS';
add_header 'Access-Control-Allow-Headers' 'Authorization';
proxy_pass http://api.yoniu.cn/; #设置要代理的域名
proxy_redirect off;
#proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header Connection close;
#proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
#proxy_max_temp_file_size 0;
#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;
}
}