欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

一文看懂Nginx如何配置跨域,值得收藏

2021-03-02    分類: 網(wǎng)站建設(shè)

當(dāng)出現(xiàn)403跨域錯(cuò)誤的時(shí)候 No 'Access-Control-Allow-Origin' header is present on the requested resource,需要給Nginx服務(wù)器配置響應(yīng)的header參數(shù),下面一起來看看吧!

一文看懂nginx如何配置跨域,值得收藏

一、 配置跨域

一文看懂nginx如何配置跨域,值得收藏

只需要在Nginx的配置文件中配置以下參數(shù):

  1. location / {  
  2.  add_header Access-Control-Allow-Origin *; 
  3.  add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS'; 
  4.  add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization'; 
  5.   
  6.  if ($request_method = 'OPTIONS') { 
  7.  return 204; 
  8.  } 

上面配置代碼即可解決問題了。

二、 參數(shù)說明

1. Access-Control-Allow-Origin

服務(wù)器默認(rèn)是不被允許跨域的。給Nginx服務(wù)器配置`Access-Control-Allow-Origin *`后,表示服務(wù)器可以接受所有的請(qǐng)求源(Origin),即接受所有跨域的請(qǐng)求。

2. Access-Control-Allow-Headers 是為了防止出現(xiàn)以下錯(cuò)誤:

  1. Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response. 

這個(gè)錯(cuò)誤表示當(dāng)前請(qǐng)求Content-Type的值不被支持。其實(shí)是我們發(fā)起了"application/json"的類型請(qǐng)求導(dǎo)致的。這里涉及到一個(gè)概念:預(yù)檢請(qǐng)求(preflight request),請(qǐng)看下面"預(yù)檢請(qǐng)求"的介紹。

3. Access-Control-Allow-Methods 是為了防止出現(xiàn)以下錯(cuò)誤:

  1. Content-Type is not allowed by Access-Control-Allow-Headers in preflight response. 

4. 給OPTIONS 添加 204的返回,是為了處理在發(fā)送POST請(qǐng)求時(shí)Nginx依然拒絕訪問的錯(cuò)誤

發(fā)送"預(yù)檢請(qǐng)求"時(shí),需要用到方法 OPTIONS ,所以服務(wù)器需要允許該方法。

三、 預(yù)檢請(qǐng)求(preflight request)

其實(shí)上面的配置涉及到了一個(gè)W3C標(biāo)準(zhǔn):CROS,全稱是跨域資源共享 (Cross-origin resource sharing),它的提出就是為了解決跨域請(qǐng)求的。

一文看懂nginx如何配置跨域,值得收藏

跨域資源共享(CORS)標(biāo)準(zhǔn)新增了一組 HTTP 首部字段,允許服務(wù)器聲明哪些源站有權(quán)限訪問哪些資源。另外,規(guī)范要求,對(duì)那些可能對(duì)服務(wù)器數(shù)據(jù)產(chǎn)生副作用的HTTP 請(qǐng)求方法(特別是 GET 以外的 HTTP 請(qǐng)求,或者搭配某些 MIME 類型的 POST 請(qǐng)求),瀏覽器必須首先使用 OPTIONS 方法發(fā)起一個(gè)預(yù)檢請(qǐng)求(preflight request),從而獲知服務(wù)端是否允許該跨域請(qǐng)求。服務(wù)器確認(rèn)允許之后,才發(fā)起實(shí)際的 HTTP 請(qǐng)求。在預(yù)檢請(qǐng)求的返回中,服務(wù)器端也可以通知客戶端,是否需要攜帶身份憑證(包括 Cookies 和 HTTP 認(rèn)證相關(guān)數(shù)據(jù))。

其實(shí)Content-Type字段的類型為application/json的請(qǐng)求就是上面所說的搭配某些 MIME 類型的 POST 請(qǐng)求,CORS規(guī)定,Content-Type不屬于以下MIME類型的,都屬于預(yù)檢請(qǐng)求:

  1. application/x-www-form-urlencodEDMultipart/form-datatext/plain 

所以 application/json的請(qǐng)求 會(huì)在正式通信之前,增加一次"預(yù)檢"請(qǐng)求,這次"預(yù)檢"請(qǐng)求會(huì)帶上頭部信息 Access-Control-Request-Headers: Content-Type:

  1. OPTIONS /api/test HTTP/1.1 
  2. Origin: http://foo.example 
  3. Access-Control-Request-Method: POST 
  4. Access-Control-Request-Headers: Content-Type 
  5. ...  

服務(wù)器回應(yīng)時(shí),返回的頭部信息如果不包含Access-Control-Allow-Headers: Content-Type則表示不接受非默認(rèn)的的Content-Type。即出現(xiàn)以下錯(cuò)誤:

  1. Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response. 


當(dāng)前題目:一文看懂Nginx如何配置跨域,值得收藏
網(wǎng)頁地址:http://www.aaarwkj.com/news48/103798.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、企業(yè)建站、網(wǎng)站制作、軟件開發(fā)、做網(wǎng)站、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
99热这里只有精品三区| 婷婷色精品一区二区激情| 日韩av在线高清播放| 精品欧美国产日韩在线观看| 少妇38p高潮在线| 久久精品国产亚洲av高清不卡| 欧美日韩国产91在线| 美女爽到高潮久久久| 精品欧美一区二区在线| 亚洲欧美日韩在线观看a三区| 国产日韩亚洲欧美精品专区| 黑人巨大一区二区三区| 激情一区二区三区视频| 欧美日韩亚洲一区视频| 亚洲熟妇精品一区二区| 久国产精品久久久极品| 日本午夜免费在线视频| 国产一区二区精品日韩| 97视频免费观看在线| 亚洲狠狠爱一区二区三区| 蜜臀av一区二区在线观看| 亚洲国产日韩欧美综合久久| 高清不卡日本一区二区| 久热视频这里只有精品99| 日本欧美自拍偷拍高清| 日韩视频看看色网站| 久久偷拍一区二区三区| 美女在线观看av少妇| 国内精品亚洲成av人片麻豆| 亚洲三区四区视频在线观看| 亚洲精品在线一二三区| 久久久精品国产亚洲av日韩| 久久久久精品久久久| 日韩中字在线一区二区| 日本午夜在线观看视频| 爽妇网亚洲一区二区三区| 韩国午夜福利视频网站| 日韩人妻熟妇中文字幕| 亚洲婷婷久久一区二区| 九九视频精品免费高清视频| 亚洲天堂福利视频网站|