最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx處理跨域問題小結(jié)

 更新時間:2024年01月11日 16:37:43   作者:broadenBlueSea  
這篇文章主要介紹了Nginx處理跨域問題小結(jié),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

1、前提條件

準備:
前端網(wǎng)站地址:http://localhost:8080
服務(wù)端網(wǎng)址:http://localhost:59200

  • 服務(wù)端沒有處理跨域,且用postman測試服務(wù)接口正常
  • 當(dāng)網(wǎng)站8080去訪問服務(wù)端接口時,就產(chǎn)生了跨域問題,那么如何解決?接下來我把跨域遇到的各種情況都列舉出來并通過nginx代理的方式解決(后臺也是一樣的,只要你理解的原理)。

跨域主要涉及4個響應(yīng)頭:
Access-Control-Allow-Origin 用于設(shè)置允許跨域請求源地址 (預(yù)檢請求和正式請求在跨域時候都會驗證)
Access-Control-Allow-Headers 跨域允許攜帶的特殊頭信息字段 (只在預(yù)檢請求驗證)
Access-Control-Allow-Methods 跨域允許的請求方法或者說HTTP動詞 (只在預(yù)檢請求驗證)
Access-Control-Allow-Credentials 是否允許跨域使用cookies,如果要跨域使用cookies,可以添加上此請求響應(yīng)頭,值設(shè)為true(設(shè)置或者不設(shè)置,都不會影響請求發(fā)送,只會影響在跨域時候是否要攜帶cookies,但是如果設(shè)置,預(yù)檢請求和正式請求都需要設(shè)置)。不過不建議跨域使用(項目中用到過,不過不穩(wěn)定,有些瀏覽器帶不過去),除非必要,因為有很多方案可以代替。

2 名詞說明

1、什么是預(yù)檢請求?
      當(dāng)發(fā)生跨域條件時候,覽器先詢問服務(wù)器,當(dāng)前網(wǎng)頁所在的域名是否在服務(wù)器的許可名單之中,以及可以使用哪些HTTP動詞和頭信息字段。只有得到肯定答復(fù),瀏覽器才會發(fā)出正式的XMLHttpRequest請求,否則就報錯

2.1、配置nginx代理

下面展示一些 內(nèi)聯(lián)代碼片

server {
    listen       22222;
    server_name  localhost;
    location  / {
        proxy_pass  http://localhost:59200;
    }
}
  • 測試代理是否成功,通過Nginx代理端口2222再次訪問接口,可以看到如下圖通過代理后接口也是能正常訪問
  • 接下來開始用網(wǎng)站8080訪問Nginx代理后的接口地址,報錯情況如下:

情況1

Access to XMLHttpRequest at 'http://localhost:22222/api/Login/TestGet'
 from origin 'http://localhost:8080' has been blocked by CORS
 policy: Response to preflight request doesn't pass access 
 control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

  • 通過錯誤信息可以很清晰的定位到錯誤(注意看標(biāo)紅部分)priflight說明是個預(yù)請求,CORS 機制跨域會首先進行 preflight(一個 OPTIONS 請求), 該請求成功后才會發(fā)送真正的請求。這一設(shè)計旨在確保服務(wù)器對 CORS 標(biāo)準知情,以保護不支持 CORS 的舊服務(wù)器
  • 通過錯誤信息,我們可以得到是預(yù)檢請求的請求響應(yīng)頭缺少了 Access-Control-Allow-Origin,錯哪里,我們改哪里就好了。修改Nginx配置信息如下(紅色部分為添加部分),缺什么就補什么,很簡單明了
server {
    listen       22222;
    server_name  localhost;
    location  / {
        if ($request_method = 'OPTIONS') {
            add_header Access-Control-Allow-Origin 'http://localhost:8080';
            add_header Access-Control-Allow-Headers '*';
            add_header Access-Control-Allow-Methods '*';
            add_header Access-Control-Allow-Credentials 'true';
            return 204;
        }
        if ($request_method != 'OPTIONS') {
            add_header Access-Control-Allow-Origin 'http://localhost:8080' always;
            add_header Access-Control-Allow-Credentials 'true';
        }
        proxy_pass  http://localhost:59200;
    }
}

到此這篇關(guān)于Nginx處理跨域問題的文章就介紹到這了,更多相關(guān)Nginx跨域問題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx服務(wù)狀態(tài)監(jiān)控的方法

    Nginx服務(wù)狀態(tài)監(jiān)控的方法

    這篇文章主要介紹了Nginx服務(wù)狀態(tài)監(jiān)控的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • nginx處理http請求實現(xiàn)過程解析

    nginx處理http請求實現(xiàn)過程解析

    這篇文章主要介紹了nginx處理http請求實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • Nginx實現(xiàn)動靜分離的示例代碼

    Nginx實現(xiàn)動靜分離的示例代碼

    Nginx動靜分離是旨在將靜態(tài)頁面與動態(tài)頁面或靜態(tài)內(nèi)容接口與動態(tài)內(nèi)容接口分開,本文主要介紹了Nginx實現(xiàn)動靜分離的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • nginx下gzip配置參數(shù)詳解

    nginx下gzip配置參數(shù)詳解

    這篇文章主要介紹了nginx下gzip配置參數(shù)詳解,本文同時給出了配置例子,以及一些注意事項,需要的朋友可以參考下
    2014-08-08
  • Nginx日志按天分割實戰(zhàn)

    Nginx日志按天分割實戰(zhàn)

    本文主要介紹了Nginx日志按天分割實戰(zhàn),方便快速按照天的維度分析以及查找報錯定位,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • Nginx實現(xiàn)Nacos反向代理的項目實踐

    Nginx實現(xiàn)Nacos反向代理的項目實踐

    在日常的web網(wǎng)站部署中,經(jīng)常會用到nginx反向代理,本文主要介紹了Nginx實現(xiàn)Nacos反向代理的項目實踐,Nginx實現(xiàn)Nacos反向代理的項目實踐
    2022-03-03
  • nginx反向代理文件下載失敗問題及解決

    nginx反向代理文件下載失敗問題及解決

    這篇文章主要介紹了nginx反向代理文件下載失敗問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • nginx 解決首頁跳轉(zhuǎn)問題詳解

    nginx 解決首頁跳轉(zhuǎn)問題詳解

    這篇文章主要介紹了nginx 解決首頁跳轉(zhuǎn)問題詳解的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • Nginx使用limit_req_zone對同一IP訪問進行限流的方法

    Nginx使用limit_req_zone對同一IP訪問進行限流的方法

    今天小編就為大家分享一篇Nginx使用limit_req_zone對同一IP訪問進行限流的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 詳解阿里云LINUX服務(wù)器配置HTTPS(NGINX)

    詳解阿里云LINUX服務(wù)器配置HTTPS(NGINX)

    本篇文章主要介紹了阿里云LINUX服務(wù)器配置HTTPS(NGINX) ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02

最新評論

澄迈县| 两当县| 邵阳县| 屏南县| 富平县| 哈尔滨市| 时尚| 左云县| 锡林郭勒盟| 东明县| 桐庐县| 阜城县| 聂拉木县| 西贡区| 攀枝花市| 桂阳县| 临沂市| 大埔区| 湛江市| 平泉县| 高清| 英超| 隆子县| 灵宝市| 花莲县| 普宁市| 疏附县| 沭阳县| 济源市| 岳普湖县| 文登市| 通海县| 邹城市| 灵石县| 彭山县| 武乡县| 友谊县| 莲花县| 沂水县| 蒙山县| 墨脱县|