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

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

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

當(dāng)出現(xiàn)403跨域錯誤的時候 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ù)器默認是不被允許跨域的。給Nginx服務(wù)器配置`Access-Control-Allow-Origin *`后,表示服務(wù)器可以接受所有的請求源(Origin),即接受所有跨域的請求。

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

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

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

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

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

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

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

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

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

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

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

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

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

所以 application/json的請求 會在正式通信之前,增加一次"預(yù)檢"請求,這次"預(yù)檢"請求會帶上頭部信息 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)時,返回的頭部信息如果不包含Access-Control-Allow-Headers: Content-Type則表示不接受非默認的的Content-Type。即出現(xiàn)以下錯誤:

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


分享名稱:一文看懂Nginx如何配置跨域,值得收藏
當(dāng)前URL:http://aaarwkj.com/news/103798.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、營銷型網(wǎng)站建設(shè)企業(yè)網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站制作、關(guān)鍵詞優(yōu)化

廣告

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

微信小程序開發(fā)
精品一区二区人妻乱交| 一区二区三区国产精品乱码| 欧美日韩一区二区激情在线| 一区二区亚洲国产精品| 91九色在线精品一区| 精品久久久久久亚洲野狼| 日韩中文在线中文网三级| 人妻口爆视频一区二区三区| 精品色欧美色国产一区国产| 99热免费精品在线观看| 国产福利在线观看午夜| 一区二区三区欧美久久| 日本一区欧美二区精品| 五月开心婷婷开心五月活动推荐| 秒播视频午夜福利在线观看| 久久综合中文字幕一区| 亚洲精品二区在线播放| 欧美日韩亚洲视频一区久久| 九九久久精品久久久精品| 中文字幕av在线有码| 亚洲av午夜福利麻豆av | 国产亚洲一区二区三区成人| 青春草草视频在线观看| 国产精品国产精品无卡区| 福利视频一区二区视频| 在线播放欧美视频91| 国产视频三级在线观看| 真实夫妻露脸爱视频九色网| av一区二区三区高潮| 日韩欧美国产精品专区| 精品国产视频一区二区三区| 巨乳中文乱码国产一区二区| 91人妻精品一区二区| 成人免费在线视频不卡| 国产精品九九久久精品三级| 不卡一区二区黄色av| 国产精品大全中文字幕| 日韩一区二区三区不卡| 日本又色又爽又黄又高潮| 日本福利资源在线观看| 日本女优中文字幕久久|