Nginx如何配置跨域(多個域名)
阿新 • • 發佈:2018-12-10
假設需要允許來源為localhost
或.*.example.com
下所有二級域名的訪問,在nginx中只需要類似這樣配置即可:
location / { set $match ""; # 支援http及https if ($http_origin ~* 'https?://(localhost|.*\.example\.com)') { set $match "true"; } if ($match = "true") { add_header Access-Control-Allow-Origin "$http_origin"; add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type'; add_header Access-Control-Allow-Methods GET,POST,OPTIONS,DELETE; add_header Access-Control-Allow-Credentials true; } # 處理OPTIONS請求 if ($request_method = 'OPTIONS') { return 204; } }
當然通過正則也可以詳細指定若干個允許訪問的域名來源。