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

配置nginx轉(zhuǎn)發(fā)內(nèi)網(wǎng)請(qǐng)求到外網(wǎng)的實(shí)現(xiàn)示例

 更新時(shí)間:2024年10月22日 09:08:27   作者:寂寞不談  
本文主要介紹了配置nginx轉(zhuǎn)發(fā)內(nèi)網(wǎng)請(qǐng)求到外網(wǎng)的實(shí)現(xiàn)示例,通過nginx配置代理實(shí)現(xiàn)內(nèi)網(wǎng)對(duì)外網(wǎng)接口數(shù)據(jù)的獲取,涉及nginx安裝、配置SSL、日志設(shè)置和錯(cuò)誤排查,感興趣的可以了解一下

一、要干什么事情

因工作需要對(duì)接,需要在內(nèi)網(wǎng)獲取外網(wǎng)的接口的數(shù)據(jù)。但是因?yàn)榫W(wǎng)絡(luò)管理的需要,內(nèi)網(wǎng)不能直接暴露到公網(wǎng)環(huán)境中,因此采取的方案是:

step1:內(nèi)網(wǎng)的服務(wù)器N上發(fā)起了一個(gè)請(qǐng)求

step2:請(qǐng)求的地址是服務(wù)器Z的內(nèi)網(wǎng)地址(服務(wù)器是一個(gè)中轉(zhuǎn)服務(wù)器,能連接內(nèi)網(wǎng)和外網(wǎng))

step3:服務(wù)器Z將請(qǐng)求通過nginx轉(zhuǎn)發(fā)到外網(wǎng)

step4:請(qǐng)求外網(wǎng)服務(wù)器W上的接口

step5:接口請(qǐng)求成功,獲取json數(shù)據(jù)

二、怎么干

干這個(gè)事情,有三方面的人。

一方面:以我為首的,需要調(diào)用接口取數(shù),下文簡稱為“我方”。

二方面:是提供網(wǎng)絡(luò)安全服務(wù)以及中間服務(wù)器,下文簡稱為“中間方”。

三方面:是提供接口服務(wù)的廠商,下文簡稱為“對(duì)方”。

任務(wù)拆解:

我方:通過xxljob寫好定時(shí)任務(wù),根據(jù)對(duì)方提供的接口文檔的信息,編寫請(qǐng)求接口。

中間方:安裝好nginx,并打通和兩方的網(wǎng)絡(luò)環(huán)境,對(duì)我方開放端口。

對(duì)方:暴露接口,供我方調(diào)用,并將中間放的服務(wù)器ip設(shè)置到白名單中。

三、開始干

3.1安裝nginx

因?yàn)橹虚g方比較懶,nginx是我方請(qǐng)運(yùn)維同事上去安裝的。

nginx能夠正常使用,然后就開始修改配置文件,準(zhǔn)備重啟nginx測試一把了,nginx.conf的配置如下

server {
        listen       80;
        server_name  _;
       

        access_log  logs/www_access.log  main;
        error_log   logs/error.log error;

        location /api {
            root   html;
            index  index.html index.htm;


            location /api {
	            proxy_set_header X-Real-IP $remote_addr;
	            proxy_pass http://對(duì)方的ip地址;
	        }
        }

3.2更新nginx配置,設(shè)置https請(qǐng)求

nginx很順利的重啟了,但是請(qǐng)求接口是出現(xiàn)了報(bào)錯(cuò),經(jīng)過排查,發(fā)現(xiàn)nginx.conf配置的有問題,對(duì)方的接口是在外網(wǎng),應(yīng)該用https請(qǐng)求,于是更新了一下nginx.conf的配置

server {
        listen       80;
        server_name  _;

      
        access_log  logs/www_access.log  main;
        error_log   logs/error.log debug;


        location / {
            root   html;
            index  index.html index.htm;


            location /api {
	            proxy_set_header X-Real-IP $remote_addr;
	            proxy_pass https://完整域名/api;
	            proxy_ssl_server_name on;
	        }
        }
}

重啟nginx報(bào)錯(cuò)

報(bào)錯(cuò)的信息簡單來說就是我安裝的nginx沒有ssl功能,經(jīng)過一頓百度得到了答案:

然后發(fā)現(xiàn)nginx根本不是通過軟件包安裝的方式裝上來的,是運(yùn)維同事從其他項(xiàng)目上把安裝后的文件夾打包過來的。(給這位頭腦靈活的同事點(diǎn)個(gè)贊????)

于是我將現(xiàn)有的nginx備份了一下,開始準(zhǔn)備重新安裝nginx

3.3重裝nginx

安裝nginx參照的博客是http://m.fzitv.net/article/189359.htm

因?yàn)榘姹镜膯栴},有一部分的包無法正常下載了,因此我將博客中的操作步驟進(jìn)行了簡化以代碼包的升級(jí),操作步驟見下圖:

安裝的過程中很順利,但是在安裝nginx的時(shí)候頻繁的報(bào)錯(cuò)誤,安裝失敗,于是將nginx的版本升級(jí)到1.20.0后解決了nginx安裝的問題。

ok,現(xiàn)在開始解決nginx不支持ssl的問題,在nginx的解壓后的目錄下執(zhí)行下面指令:

./configure --with-http_ssl_module

然后又報(bào)錯(cuò)了,報(bào)錯(cuò)信息如下:

./configure: error: SSL modules require the OpenSSL library.
You can either do not enable the modules, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using --with-openssl=<path> option.

然后我就直接升級(jí)了openssl的版本,然后重試,終于裝好了。

3.4后續(xù)的問題

nginx配置了代理https也能夠正常的啟動(dòng)了。

然后再次重試發(fā)起請(qǐng)求,從access_log  logs/www_access.log請(qǐng)求日志中可以看到,nginx相應(yīng)了內(nèi)網(wǎng)的請(qǐng)求,但是返回值都是403。

現(xiàn)在還無法判斷是內(nèi)網(wǎng)到nginx出現(xiàn)了問題,還是nginx到外網(wǎng)出現(xiàn)了問題。

于是兩路走:

1.nginx上再配置另一個(gè)內(nèi)網(wǎng)的接口,然后發(fā)起請(qǐng)求,此時(shí)發(fā)現(xiàn)請(qǐng)求日志中返回值是200,成功,發(fā)起請(qǐng)求的內(nèi)網(wǎng)服務(wù)器的日志中也得到了相應(yīng)的信息。

2.在nginx的服務(wù)器上,直接模擬接口請(qǐng)求,請(qǐng)求外網(wǎng),結(jié)果:403

結(jié)論:nginx到外網(wǎng)出現(xiàn)了問題,經(jīng)過和對(duì)方的排查,發(fā)現(xiàn)對(duì)方?jīng)]有將nginx的服務(wù)器設(shè)置到白名單中。

3.5最終結(jié)果

在配置白名單后,就能夠正常請(qǐng)求到接口的數(shù)據(jù)了。

四、學(xué)到的東西

4.1 nginx怎么開啟日志

中間的地址給的是相對(duì)路徑,也可以設(shè)置成絕對(duì)路徑。

main是nginx配置文件中最上方配置的規(guī)則,需要打開注釋

error_log后面的error是日志的級(jí)別

日志級(jí)別:可以指定日志記錄的級(jí)別,如 debug、info、notice、warn、error、crit、alert、emerg 等,控制不同嚴(yán)重程度的錯(cuò)誤信息是否記錄到該日志中。

4.2 怎樣模擬接口請(qǐng)求

通過咨詢ai助手得到了該信息,驗(yàn)證了nginx到外網(wǎng)的通道是否正確。

4.3代碼格式

這篇博客中代碼都變成一行了,使用markdown語法寫博客可以完整展示,于是我又發(fā)了一篇一樣的,但是代碼格式是完整的。

到此這篇關(guān)于配置nginx轉(zhuǎn)發(fā)內(nèi)網(wǎng)請(qǐng)求到外網(wǎng)的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)nginx轉(zhuǎn)發(fā)內(nèi)網(wǎng)請(qǐng)求到外網(wǎng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

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

    這篇文章主要介紹了利用Nginx反向代理解決跨域問題詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-02-02
  • Nginx四層代理和七層代理的用法及區(qū)別說明

    Nginx四層代理和七層代理的用法及區(qū)別說明

    這篇文章主要介紹了Nginx四層代理和七層代理的區(qū)別及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2026-03-03
  • Nginx+Tomcat實(shí)現(xiàn)負(fù)載均衡、動(dòng)靜分離的原理解析

    Nginx+Tomcat實(shí)現(xiàn)負(fù)載均衡、動(dòng)靜分離的原理解析

    這篇文章主要介紹了Nginx+Tomcat實(shí)現(xiàn)負(fù)載均衡、動(dòng)靜分離的原理解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Nginx反向代理重寫URL的實(shí)現(xiàn)方案

    Nginx反向代理重寫URL的實(shí)現(xiàn)方案

    nginx服務(wù)器代理前端項(xiàng)目,并且反代后端服務(wù)器,開發(fā)時(shí)使用沒有什么問題,部署后存在同樣請(qǐng)求根地址的情況,但是去調(diào)用后端接口就會(huì)出現(xiàn)報(bào)錯(cuò),最后通過重寫url解決問題,所以本文給大家介紹了Nginx反向代理重寫URL的實(shí)現(xiàn)方案,需要的朋友可以參考下
    2025-04-04
  • nginx加php-fpm出現(xiàn)502 bad gateway錯(cuò)誤的5種解決方法

    nginx加php-fpm出現(xiàn)502 bad gateway錯(cuò)誤的5種解決方法

    這篇文章主要介紹了nginx加php-fpm環(huán)境中出現(xiàn)502 bad gateway錯(cuò)誤的5種解決方法,總結(jié)歸納服務(wù)器出現(xiàn)502錯(cuò)誤的原因多數(shù)為連接過多和腳本超時(shí),本文總結(jié)了5種解決方法,需要的朋友可以參考下
    2014-05-05
  • nginx長連接配置小結(jié)

    nginx長連接配置小結(jié)

    Nginx長連接通過保持TCP連接,減少連接建立和關(guān)閉的開銷,提高性能和效率,本文就來介紹一下nginx長連接配置,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-02-02
  • k8s部署ingress-nginx的方法步驟

    k8s部署ingress-nginx的方法步驟

    k8s集群服務(wù)部署好之后,需要對(duì)外提域名訪問,這時(shí)候就需要ingress-nginx了,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • nginx安裝以及配置的詳細(xì)過程記錄

    nginx安裝以及配置的詳細(xì)過程記錄

    Nginx (engine x) 是一個(gè)高性能的HTTP和反向代理服務(wù)器,也是一個(gè)IMAP/POP3/SMTP服務(wù)器,下面這篇文章主要給大家介紹了關(guān)于nginx安裝以及配置的詳細(xì)過程,文章將實(shí)現(xiàn)的過程介紹的非常詳細(xì),需要的朋友可以參考下
    2021-09-09
  • Nginx顯示500錯(cuò)誤的原因以及解決方法

    Nginx顯示500錯(cuò)誤的原因以及解決方法

    nginx出現(xiàn)500錯(cuò)誤,不會(huì)顯示具體錯(cuò)誤信息,要到日志文件里面去看,下面這篇文章主要給大家介紹了關(guān)于Nginx顯示500錯(cuò)誤的原因以及解決方法的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • Nginx報(bào)Too Many Open Files總結(jié)

    Nginx報(bào)Too Many Open Files總結(jié)

    本文提供了解決Nginx服務(wù)器出現(xiàn)Too many open files錯(cuò)誤的方法,包括檢查和調(diào)整文件句柄限制、修改系統(tǒng)配置文件及nginx配置等,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-01-01

最新評(píng)論

满洲里市| 耿马| 漯河市| 松江区| 东乌珠穆沁旗| 嘉义县| 珠海市| 红安县| 阳东县| 濉溪县| 盘锦市| 安仁县| 遵义市| 青州市| 八宿县| 屏边| 响水县| 科技| 夏河县| 淮北市| 莒南县| 马关县| 荃湾区| 马龙县| 五寨县| 沾化县| 泰安市| 崇州市| 高台县| 大安市| 连江县| 德安县| 汉寿县| 青浦区| 建平县| 鹿泉市| 岳普湖县| 泸水县| 洱源县| 翼城县| 留坝县|