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

利用Nginx反向代理解決跨域問題詳解

 更新時(shí)間:2019年02月01日 10:15:10   作者:suan_suan  
這篇文章主要介紹了利用Nginx反向代理解決跨域問題詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

問題

在之前的分享的跨域資源共享的文章中,有提到要注意跨域時(shí),如果要發(fā)送Cookie,Access-Control-Allow-Origin就不能設(shè)為*,必須指定明確的、與請(qǐng)求網(wǎng)頁一致的域名。在此次項(xiàng)目開發(fā)中與他人協(xié)作中就遇到此類問題。

解決思路

  1. 一般來說,與后臺(tái)利用CORS跨域資源共享將Access-Control-Allow-Origin設(shè)置為訪問的域名即可,這個(gè)需要后臺(tái)的配合,且有些瀏覽器是不支持的。
  2. 基于與合作方后臺(tái)的配合,利用nginx方向代理來滿足瀏覽器的同源策略來實(shí)現(xiàn)跨域

實(shí)現(xiàn)方法

反向代理概念

反向代理(Reverse Proxy)方式是指以代理服務(wù)器來接受Internet上的連接請(qǐng)求,然后將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器;并將從服務(wù)器上得到的結(jié)果返回給Internet上請(qǐng)求連接的客戶端,此時(shí)代理服務(wù)器對(duì)外就表現(xiàn)為一個(gè)服務(wù)器。反向代理服務(wù)器對(duì)于客戶端而言它就像是原始服務(wù)器,并且客戶端不需要進(jìn)行任何特別的設(shè)置??蛻舳讼蚍聪虼淼拿臻g(name-space)中的內(nèi)容發(fā)送普通請(qǐng)求,接著反向代理將判斷向何處(原始服務(wù)器)轉(zhuǎn)交請(qǐng)求,并將獲得的內(nèi)容返回給客戶端,就像這些內(nèi)容原本就是它自己的一樣。

利用nginx反向代理實(shí)現(xiàn)跨域的步驟

nginx官網(wǎng)下載包搭建nginx環(huán)境

修改nginx的配置文件,找到ngixn.conf文件,修改相關(guān)配置

http {
 include  mime.types;
 default_type application/octet-stream;

 sendfile  on;

 server {
  listen  8000; #監(jiān)聽8000端口,可以改成其他端口
  server_name localhost; # 當(dāng)前服務(wù)的域名

  location /wili/api/ {
    proxy_pass http://chick.platform.deva.wili.us/api/; #添加訪問路徑錄為/will/api的代理配置
    proxy_http_version 1.1;
  }
  
  location / {
    proxy_pass http://localhost:8001;
    proxy_http_version 1.1;
  }
  
  error_page 500 502 503 504 /50x.html;
  location = /50x.html {
   root html;
  }

 }

}

配置的解釋:

  • 由配置信息可知,我們讓nginx監(jiān)聽localhost的8000端口,網(wǎng)站A與網(wǎng)站B的訪問都是經(jīng)過localhost的8000端口進(jìn)行訪問。
  • 我們特殊配置了一個(gè)"/will/api"的訪問,使以"will/api”開頭的地址都轉(zhuǎn)到"
  • 訪問地址修改

既然我們已經(jīng)配置了nginx,那么所有的訪問都要走nginx,而不是走網(wǎng)站原本的地址(A網(wǎng)站localhost:8001,B網(wǎng)站http://chick.platform.deva.wili.us/api/)。所以要修改A網(wǎng)站中的請(qǐng)求接口換成http://localhost:8000/wili/api/。接下來啟動(dòng)nginx,訪問配置的8000即可


需要注意的一點(diǎn)是nginx啟動(dòng)可能會(huì)沖突端口造成啟動(dòng)不成功,可在任務(wù)管理器查看是否啟動(dòng)成功。

總結(jié)

瀏覽器跨域的解決方式有很多種:

  1. jsonp 需要目標(biāo)服務(wù)器配合一個(gè)callback函數(shù)
  2. CORS需要服務(wù)器設(shè)置header:Access-Control-Allow-Origin
  3. nginx反向代理 這個(gè)方法一般很少有人提及,但是他可以不用目標(biāo)服務(wù)器配合,不過需要你搭建一個(gè)中轉(zhuǎn)nginx服務(wù)器,用于轉(zhuǎn)發(fā)請(qǐng)求。(使用反向代理可能訪問網(wǎng)頁相對(duì)于之前響應(yīng)會(huì)比較慢)

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

相關(guān)文章

  • 如何配置Nginx每個(gè)進(jìn)程最多打開的文件數(shù)量

    如何配置Nginx每個(gè)進(jìn)程最多打開的文件數(shù)量

    這篇文章主要介紹了配置Nginx每個(gè)進(jìn)程最多打開的文件數(shù)量,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Nginx搭建自己的CDN服務(wù)器的方法步驟

    Nginx搭建自己的CDN服務(wù)器的方法步驟

    本文主要介紹了Nginx搭建自己的CDN服務(wù)器的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • nginx做白名單和限流的完整過程

    nginx做白名單和限流的完整過程

    ??我們都知道nginx里面是可以用lua腳本做一些稍微復(fù)雜些的邏輯處理的,要使用lua腳本需要編譯lua解釋器,時(shí)間有限我直接用了openresty,它集成了lua和nginx,這篇文章主要介紹了nginx做白名單和限流,需要的朋友可以參考下
    2024-02-02
  • nginx做代理時(shí)如何修改querystring方法詳解

    nginx做代理時(shí)如何修改querystring方法詳解

    這篇文章主要介紹了nginx做代理時(shí)如何修改querystring的方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • nginx代理參數(shù)proxy_pass的實(shí)現(xiàn)

    nginx代理參數(shù)proxy_pass的實(shí)現(xiàn)

    proxy_pass參數(shù)用于配置反向代理,本文主要介紹了nginx代理參數(shù)proxy_pass的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-04-04
  • Nginx常見的幾種回源方式實(shí)現(xiàn)

    Nginx常見的幾種回源方式實(shí)現(xiàn)

    本文主要介紹了Nginx常見的幾種回源方式實(shí)現(xiàn),通過Nginx回源文件至本地機(jī)房,域名解析采用內(nèi)外網(wǎng)單獨(dú)解析,外地辦公同事可以通過CDN進(jìn)行更新,感興趣的可以了解一下
    2024-02-02
  • nginx實(shí)現(xiàn)一個(gè)域名配置多個(gè)laravel項(xiàng)目的方法示例

    nginx實(shí)現(xiàn)一個(gè)域名配置多個(gè)laravel項(xiàng)目的方法示例

    這篇文章主要介紹了nginx實(shí)現(xiàn)一個(gè)域名配置多個(gè)laravel項(xiàng)目的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • nginx connect() to unix:/var/run/php-fpm.sock failed (11: Resource temporarily unavailable)

    nginx connect() to unix:/var/run/php-fpm.sock failed (11: Re

    這篇文章主要介紹了nginx connect() to unix:/var/run/php-fpm.sock failed (11: Resource temporarily unavailable),需要的朋友可以參考下
    2015-01-01
  • Nginx Location配置全過程

    Nginx Location配置全過程

    介紹了Nginx的Location語法結(jié)構(gòu),涵蓋標(biāo)準(zhǔn)/正則uri匹配、匹配標(biāo)識(shí)優(yōu)先級(jí)(精確>正則>通用),root與alias指令的區(qū)別(保留/替換前綴),以及通過錯(cuò)誤日志調(diào)試Location配置的方法
    2025-07-07
  • Nginx出現(xiàn)404 Not Found nginx/1.23.4的完美解決方案

    Nginx出現(xiàn)404 Not Found nginx/1.23.4的完美解決方案

    在Nginx配置過程中,404 Not Found錯(cuò)誤是一個(gè)常見問題,本文將詳細(xì)解析Nginx 404 Not Found的原因及解決方案,確保您能夠輕松解決這一問題,需要的小伙伴跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07

最新評(píng)論

蒙阴县| 建阳市| 呼伦贝尔市| 黄石市| 庆城县| 和田县| 望都县| 综艺| 岳阳市| 东海县| 本溪市| 镇宁| 常州市| 渭南市| 来凤县| 泽库县| 安图县| 尉氏县| 循化| 康保县| 广州市| 张掖市| 杭锦旗| 青岛市| 达州市| 商都县| 伊宁县| 阳春市| 西华县| 屯留县| 大埔区| 广昌县| 青河县| 老河口市| 合江县| 平遥县| 日喀则市| 凤山县| 辛集市| 上杭县| 日照市|