NGINX配置跨域CORS支持的正確方式

NGINX配置跨域CORS支持

這兩天在搞 酷瓜雲網課 的 app,採用 uni-app 作全端支持,現學現賣,目前算是入門了。php

在作 H5 的時候不免會跨域請求後端 API,雖然用 HBuilder 內置的瀏覽器不會有跨域問題(這個應該是作了內部處理),可是那個內置瀏覽器真尼媽坑爹,過一會就會卡死,致使 HBuilder 無響應,殺進程也是無濟於事,只能重啓,重複幾回誰受的了。後來發現用外部的瀏覽器不會有這個問題,可是又面臨跨域。nginx

這裏採用配置 nginx 來支持 CORS,這樣的話就不用動任何代碼了。正確的配置以下:git

location ~ \.php$ {

    if ($request_method = 'OPTIONS') {
        add_header 'Access-Control-Allow-Origin' '*' always;
        add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS,PUT,DELETE' always;
        add_header 'Access-Control-Allow-Headers' '*' always;
        add_header 'Access-Control-Max-Age' 1728000 always;
        add_header 'Content-Length' 0;
        add_header 'Content-Type' 'text/plain; charset=utf-8';
        return 204;
    }

    if ($request_method ~* '(GET|POST|DELETE|PUT)') {
        add_header 'Access-Control-Allow-Origin' '*' always;
    }

}

PS:網上不少都是採集,粘貼複製的垃圾文章,徹底沒有去驗證的,碰到了會浪費還多時間,還會把你帶坑裏去。後端

注意:上面的配置只適合調試階段(由於大門全開),請根據實際狀況調整參數。跨域

相關文章
相關標籤/搜索