通過配置nginx支持客戶端ajax跨域請求
最新
05-11
nginx反向代理添加配置支持ajax跨域訪問
今天折騰個問題折騰了半天,所以記錄下,也分享給各位有需要的朋友。很抱歉,最近比較忙,事情多,所以沒時間寫文章。
1
首先配置nginx,在server中添加反向代理對跨域的支持,即在location / {}中添加:
add_headerAccess-Control-Allow-Origin域名(注意,要帶上http);
如果你不要支持ajax獲取cookie並在請求時自動帶上cookie,那麼這裡可以配置為*,即支持所以其它域名跨域訪問。
add_headerAccess-Control-Allow-Credentialstrue;
設置該項可支持ajax可獲取到cookie。
add_headerAccess-Control-Allow-MethodsGET或者POST請求;
聲明跨域支持的請求方法,可以是get,post或是組合。
舉例:
2
修改ajax請求時自動加上cookie,xhrFields:
此時如果項目時上傳到nginx配置Access-Control-Allow-Origin所指定的域名伺服器時,那麼運行是沒問題的,但如果你是在本地開發調試,那麼瀏覽器就會報錯了。別急,往下就是我自己想出來的解決辦法。
3
因為我的電腦是mac系統的,所以我只說msc上的做法,windows同理。打開終端,輸入vim /etc/hosts 在文件末尾添加一條dns解析:127.0.0.1 nginx配置支持跨域的域名,寫完後保存退出,同時瀏覽器中把127.0.0.1改為該域名就可以了。
查看調試結果:
關注我們

