欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nginx 配置跨域失效修復(fù)的方法示例

 更新時間:2019年10月18日 08:31:35   作者:luckyjiet  
這篇文章主要介紹了nginx 配置跨域失效修復(fù)的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

nginx 配置跨域不生效 如下配置

server {
  listen  80;
  server_name localhost;
  
  # 接口轉(zhuǎn)發(fā)
  location /api/ {
   # 允許請求地址跨域 * 做為通配符
   add_header 'Access-Control-Allow-Origin' '*';
   # 設(shè)置請求方法跨域
   add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';
   # 設(shè)置是否允許 cookie 傳輸
   add_header 'Access-Control-Allow-Credentials' 'true';
   # 設(shè)置請求頭 這里為什么不設(shè)置通配符 * 因為不支持
   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,X-Data-Type,X-Auth-Token';
   # 設(shè)置反向代理 
   proxy_pass 127.0.0.1:8081/;
  }
 }

網(wǎng)上的 nginx 跨域配置主要是以上版本,然而很多都是抄一抄,并沒有真的去實踐,故寫了下文章提醒下有需要的人,不要盲目抄,學(xué)會分析。

nginx 修改如下配置后生效

server {
  listen  80;
  server_name localhost;
  
  # 接口轉(zhuǎn)發(fā)
  location /api/ {
   # 允許請求地址跨域 * 做為通配符
   add_header 'Access-Control-Allow-Origin' '*';
   # 設(shè)置請求方法跨域
   add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';
   # 設(shè)置是否允許 cookie 傳輸
   add_header 'Access-Control-Allow-Credentials' 'true';
   # 設(shè)置請求頭 這里為什么不設(shè)置通配符 * 因為不支持
   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,X-Data-Type,X-Auth-Token';
   
   # 設(shè)置 options 請求處理
   if ( $request_method = 'OPTIONS' ) { 
    return 200;
   }
   # 設(shè)置反向代理 
   proxy_pass 127.0.0.1:8081/;
  }
 }

兩者代碼區(qū)別 主要就是下面這行代碼

if ( $request_method = 'OPTIONS' ) { 
  return 200;
}

因為 post 請求 瀏覽器會發(fā)送一個 options 的預(yù)檢請求,主要將本次的請求頭 發(fā)送給服務(wù)端,若服務(wù)端允許,再發(fā)送真正的post請求,所以 f12 看到,經(jīng)常 post 會發(fā)送兩次請求。因為后端 java 代碼沒有對 options 請求做出處理,導(dǎo)致 options 接口請求的時候,報 403 forbidden , 這里 nginx 對 options 的請求直接返回 200,不用到達(dá)接口層,直接允許 post 響應(yīng)頭,即可使得上述失效配置能夠生效

附贈 一個小知識點

proxy_pass 127.0.0.1:8081/;

針對反向代理里面這個/ 加不加的問題;

訪問 http://localhost/api/user/login;

  • 加/ 則 實際訪問的是 127.0.0.1:8081/user/login;
  • 不加 / 則實際訪問的是 127.0.0.1:8081/api/user/login;

加了斜杠意味著所有的 /api 請求都會轉(zhuǎn)發(fā)到根目錄下,也就是說 /api 會被 / 替代,這個時候接口路徑就變了,少了一層 /api 。而不加斜杠的時候呢?這代表著轉(zhuǎn)發(fā)到127.0.0.1:8081的域名下, /api 的路徑不會丟失

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Nginx安裝后常用功能配置基礎(chǔ)篇

    Nginx安裝后常用功能配置基礎(chǔ)篇

    這篇文章主要介紹了Nginx安裝后常用的功能配置,為了在使用中更高效簡潔,Nginx安裝后通常會進(jìn)行一些常用的配置,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-03-03
  • 讓VIM支持Nginx .conf文件語法高亮顯示功能的方法

    讓VIM支持Nginx .conf文件語法高亮顯示功能的方法

    這篇文章主要給大家介紹了關(guān)于讓VIM支持Nginx .conf文件語法高亮顯示功能的方法,文中分別介紹了手動修改和自動化腳本兩種方法的實現(xiàn),都給出了詳細(xì)的示例代碼,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • 深入理解Nginx之error_page模塊的使用

    深入理解Nginx之error_page模塊的使用

    error_page是nginx一個重要的指令,作用是定制化服務(wù)器錯誤頁面,本文主要介紹了Nginx之error_page模塊的使用,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • Nginx中Map模塊的具體使用

    Nginx中Map模塊的具體使用

    Nginx的map模塊是一個功能強(qiáng)大的工具,可以在配置Nginx時實現(xiàn)更高效的請求處理,本文主要介紹了Nginx中Map模塊的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2024-08-08
  • nginx訪問日志并刪除指定天數(shù)前的日志記錄配置方法

    nginx訪問日志并刪除指定天數(shù)前的日志記錄配置方法

    這篇文章主要介紹了nginx訪問日志并刪除指定天數(shù)前的日志記錄配置方法,需要的朋友可以參考下
    2014-03-03
  • nginx使用內(nèi)置模塊配置限速限流的方法實例

    nginx使用內(nèi)置模塊配置限速限流的方法實例

    Nginx現(xiàn)在已經(jīng)是最火的負(fù)載均衡之一,在流量陡增的互聯(lián)網(wǎng)面前,接口限流也是很有必要的,尤其是針對高并發(fā)的場景,下面這篇文章主要給大家介紹了關(guān)于nginx使用內(nèi)置模塊配置限速限流的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • 詳解nginx basic auth配置踩坑記

    詳解nginx basic auth配置踩坑記

    本篇文章主要介紹了詳解nginx basic auth配置踩坑記,nginx的basic auth配置由ngx_http_auth_basic_module模塊提供,對HTTP Basic Authentication協(xié)議進(jìn)行了支持,感興趣的小伙伴們可以參考一下
    2018-07-07
  • nginx php-fpm中啟用慢日志配置(用于檢測執(zhí)行較慢的PHP腳本)

    nginx php-fpm中啟用慢日志配置(用于檢測執(zhí)行較慢的PHP腳本)

    這篇文章主要介紹了nginx php-fpm中啟用慢日志配置,php-fpm慢日志slowlog設(shè)置可以讓我們很好的看見哪些php進(jìn)程速度太慢而導(dǎo)致的網(wǎng)站問題,可以讓我們方便的找到問題的所在,需要的朋友可以參考下
    2014-05-05
  • 基于nginx反向代理獲取用戶真實Ip地址詳解

    基于nginx反向代理獲取用戶真實Ip地址詳解

    我們訪問互聯(lián)網(wǎng)上的服務(wù)時,大多數(shù)時客戶端并不是直接訪問到服務(wù)端的,而是客戶端首先請求到反向代理,反向代理再轉(zhuǎn)發(fā)到服務(wù)端實現(xiàn)服務(wù)訪問,這篇文章主要給大家介紹了關(guān)于如何基于nginx反向代理獲取用戶真實Ip地址的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • nginx部署.net core站點的方法

    nginx部署.net core站點的方法

    這篇文章主要介紹了nginx部署.net core站點的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07

最新評論