1. 程式人生 > >Nginx配置跨域-http請求方法OPTIONS

Nginx配置跨域-http請求方法OPTIONS

Nginx配置跨域 http請求方法OPTIONS

看到標題有點扯,為什麼跨域與http的請求方法options有關係,因為當你跨域獲取資源時,瀏覽會出於安全的考慮會先使用OPTIONS做請求,看能否正常返回,因為使用OPTIONS返回的是206狀態碼,無論是否正常返回頁面都不會被跳轉或者重新整理

  • 配置跨域

    在server,location中新增如下程式碼,只要是OPTIONS請求時允許後續請求及正常返回狀態碼

    if ( $request_method = 'OPTIONS' ) {
    add_header Access-Control-Allow-Origin $http_origin;
    add_header Access-Control-Allow-Headers Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,X-Data-Type,X-Requested-With;
    add_header Access-Control-Allow-Methods GET,POST,OPTIONS,HEAD,PUT;
    add_header Access-Control-Allow-Credentials true;
    add_header Access-Control-Allow-Headers X-Data-Type,X-Auth-Token;
    }

  • http OPTIONS解釋

    1、獲取伺服器支援的HTTP請求方法;也是黑客經常使用的方法。支援請求方法與http協議版本及web伺服器配置有關
    2、用來檢查伺服器的效能。例如:AJAX進行跨域請求時的預檢,需要向另外一個域名的資源傳送一個HTTP OPTIONS請求頭,用以判斷實際傳送的請求是否安全。
    3、http返回正常狀態碼為206