天天看點

nginx 配置CORS該如何允許配置?

 後端工程師寫完接口之後傳到遠端伺服器上,為了便于本地調試,我特地去伺服器上的nginx配置允許CORS。

  配置過程

  服務必須傳回 Access-Control-Allow-Origin : enabledhost.com 的 http response,才會允許跨域通路,我先去伺服器上找到 nginx 的配置檔案,然後直接配置以下内容:

  location /

  {

  add_header Access-Control-Allow-Origin *;

  add_header Access-Control-Allow-Headers X-Requested-With;

  add_header Access-Control-Allow-Methods GET,POST,OPTIONS;

  include fastcgi.conf;

  }

  完事之後進行接口調用,發現還是不管用,于是就進行各種搜,網上的答案五花八門,有說GET類型和POST類型的請求配置不一樣,也有說一樣的。 最後還是問了搞後端的朋友,應該寫在一個關于php支援的配置檔案裡才行,于是我更正了配置:

  location ——

1

.php(/|$)

  try_files $uri =404;

  fastcgi_pass unix:/tmp/php-cgi.sock;

  fastcgi_index index.php;

  至此,就OK了,大家在進行nginx跨域配置時需要注意以下幾點:

  1、Access-Control-Allow-Origin 不要像我一樣設定 * ,這樣不安全。我隻是為了臨時使用友善,後面還會關掉此設定

  2、設定時寫在php相關的location配置中

  3、不要忘記這條配置 add_header Access-Control-Allow-Headers X-Requested-With; 網上搜到的答案大部分都少這一條。

  1. /