
NGINX配置跨域CORS支持
這兩天在搞 酷瓜云網(wǎng)課 的 app,采用 uni-app 做全端支持,現(xiàn)學現(xiàn)賣,目前算是入門了。
在做 H5 的時候難免會跨域請求后端 API,雖然用 HBuilder 內(nèi)置的瀏覽器不會有跨域問題(這個應該是做了內(nèi)部處理),但是那個內(nèi)置瀏覽器真尼媽坑爹,過一會就會卡死,導致 HBuilder 無響應,殺進程也是無濟于事,只能重啟,重復幾次誰受的了。后來發(fā)現(xiàn)用外部的瀏覽器不會有這個問題,但是又面臨跨域。
這里采用配置 nginx 來支持 CORS,這樣的話就不用動任何代碼了。正確的配置如下:
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:網(wǎng)上很多都是采集,粘貼復制的垃圾文章,完全沒有去驗證的,碰到了會浪費還多時間,還會把你帶坑里去。