欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

一、要干什么事情

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

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

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

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

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

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

二、怎么干

干這個事情,有三方面的人。

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

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

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

任務(wù)拆解:

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

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

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

三、開始干

3.1安裝nginx

因為中間方比較懶,nginx是我方請運維同事上去安裝的。

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://對方的ip地址;
	        }
        }

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

nginx很順利的重啟了,但是請求接口是出現(xiàn)了報錯,經(jīng)過排查,發(fā)現(xiàn)nginx.conf配置的有問題,對方的接口是在外網(wǎng),應(yīng)該用https請求,于是更新了一下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報錯

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

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

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

3.3重裝nginx

安裝nginx參照的博客是http://www.dbjr.com.cn/article/189359.htm

因為版本的問題,有一部分的包無法正常下載了,因此我將博客中的操作步驟進(jìn)行了簡化以代碼包的升級,操作步驟見下圖:

安裝的過程中很順利,但是在安裝nginx的時候頻繁的報錯誤,安裝失敗,于是將nginx的版本升級到1.20.0后解決了nginx安裝的問題。

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

./configure --with-http_ssl_module

然后又報錯了,報錯信息如下:

./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.

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

3.4后續(xù)的問題

nginx配置了代理https也能夠正常的啟動了。

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

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

于是兩路走:

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

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

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

3.5最終結(jié)果

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

四、學(xué)到的東西

4.1 nginx怎么開啟日志

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

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

error_log后面的error是日志的級別

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

4.2 怎樣模擬接口請求

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

4.3代碼格式

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

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

相關(guān)文章

  • 如何將 Nginx 配置為Web服務(wù)器的方法

    如何將 Nginx 配置為Web服務(wù)器的方法

    本篇文章主要介紹了如何將 Nginx 配置為Web服務(wù)器的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 完全卸載nginx以及安裝的超詳細(xì)步驟

    完全卸載nginx以及安裝的超詳細(xì)步驟

    由于之前下載太亂,找相關(guān)目錄半天找不對位置,所以決定卸載nginx并重新安裝,下面這篇文章主要給大家介紹了關(guān)于完全卸載nginx以及安裝的超詳細(xì)步驟,需要的朋友可以參考下
    2022-12-12
  • 修改配置解決Nginx服務(wù)器中常見的上傳與連接錯誤

    修改配置解決Nginx服務(wù)器中常見的上傳與連接錯誤

    這篇文章主要介紹了修改配置解決Nginx服務(wù)器中常見的上傳與連接錯誤的方法,分別針對Nginx的413錯誤與111錯誤,需要的朋友可以參考下
    2016-01-01
  • 一個等號引發(fā)的血案(談Nginx正確的404配置)

    一個等號引發(fā)的血案(談Nginx正確的404配置)

    這篇文章主要介紹了Nginx正確的404配置方法,本文根據(jù)實際案例總結(jié)而來,可以說是一個等號引發(fā)的血案!需要的朋友可以參考下
    2014-08-08
  • 騰訊云CentOS 6.6快速安裝 Nginx服務(wù)器圖文教程

    騰訊云CentOS 6.6快速安裝 Nginx服務(wù)器圖文教程

    本文通過圖文并茂的形式給大家介紹了騰訊云CentOS 6.6快速安裝 Nginx服務(wù)器的方法,介紹的非常詳細(xì),具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-09-09
  • Nginx負(fù)載均衡中的Memcached緩存模塊

    Nginx負(fù)載均衡中的Memcached緩存模塊

    Nginx?的?ngx_http_memcached_module?模塊本身并沒有提供緩存功能,它只是一個將用戶請求轉(zhuǎn)發(fā)到?Memcached?服務(wù)器的代理模塊,這篇文章主要介紹了Nginx負(fù)載均衡之Memcached緩存模塊,需要的朋友可以參考下
    2024-06-06
  • Nginx用戶認(rèn)證配置方法詳解(域名/目錄)

    Nginx用戶認(rèn)證配置方法詳解(域名/目錄)

    Nginx超級強大它可以單獨為一個域名設(shè)置用戶認(rèn)證,方法也很簡單我們只要生成用戶認(rèn)證的用戶名和密碼,然后再Nginx添加auth認(rèn)證配置即可
    2013-08-08
  • 很詳細(xì)的Nginx配置說明

    很詳細(xì)的Nginx配置說明

    這篇文章主要為大家分享了一篇很詳細(xì)的Nginx配置說明,主要內(nèi)容包括Nginx常用功能、Nginx配置文件結(jié)構(gòu),想要了解Nginx配置的朋友不要錯過,參考一下
    2016-02-02
  • 利用Nginx_geo模塊實現(xiàn)CDN調(diào)度的配置方法

    利用Nginx_geo模塊實現(xiàn)CDN調(diào)度的配置方法

    今天小編就為大家分享一篇利用Nginx_geo模塊實現(xiàn)CDN調(diào)度的配置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • nginx去掉前端配置的路徑前綴兩種情況

    nginx去掉前端配置的路徑前綴兩種情況

    今天接到一個配置nginx的需求是,需要訪問某個域名時,nginx可以去掉前綴去代理訪問到后端,這篇文章主要給大家介紹了關(guān)于nginx去掉前端配置的路徑前綴的兩種情況,需要的朋友可以參考下
    2024-05-05

最新評論