詳解使用ChatGPT解決Nginx反向代理的問題
目錄
- 背景
- 使用ChatGPT解決
- 總結(jié)
背景
我有 3 臺服務(wù)器,1臺Web服務(wù)器對外提供訪問,另外兩臺服務(wù)器 QC1 和 QC2 用于存儲不同設(shè)備識別后保存的照片。它們的 IP 地址如下:
前端程序需要根據(jù)照片的文件名稱把圖片顯示出來,最開始想到的就是通過 Nginx 進(jìn)行反向代理來解決這個(gè)問題。
舉個(gè)例子,照片文件名稱是 QC1 開頭的,那么就是從 192.168.100.1 服務(wù)器上取照片,用戶訪問 http://10.76.2.10:8029/media/QC1_20220318T131856_1_CT.jpg
,實(shí)際上訪問的是 http://192.168.100.1/media/QC1_20220318T131856_1_CT.jpg
。
但是由于本人對 Nginx 配置不是很熟悉,剛好最近 ChatGPT 大紅大紫,于是萌生了詢問 ChatGPT 來解決這個(gè)問題的想法,于是就產(chǎn)生了下面我和 ChatGPT 的對話。
使用ChatGPT解決
我向 ChatGPT 說明了我要咨詢關(guān)于 Nginx 反向代理的問題,并簡單介紹了背景。ChatGPT 很快就理解了我的問題,并提供了如下的 Nginx 配置
接著 ChatGPT 就給出了 nginx 的配置
如果訪問的地址變了,它又會重新修改配置。
我對它寫的 if 語句不清楚是用來做什么的,它也能給出相應(yīng)的解釋。
這個(gè)時(shí)候我大概明白了,只要我們拿到 $1 變量,就可以實(shí)現(xiàn)根據(jù)照片的文件名來反向代理服務(wù)器的請求。但是之前它提供的 upstream 配置中并沒有QC1和QC2對應(yīng)的地址,還是繼續(xù)讓 ChatGPT 修改。
調(diào)整好后,讓 ChatGPT 重新生成一個(gè)完整的 nginx 配置。
好了,我們把這個(gè)配置復(fù)制到服務(wù)器上,再稍微修改調(diào)整一些,重新啟動了 Nginx,并使用瀏覽器測試了一下。
下面是QC1和QC2服務(wù)器上面的兩張照片
我們通過 http://localhost:8029 (web服務(wù)器)分別去訪問這兩張照片,一切都運(yùn)行正常,根據(jù)照片的文件名,Nginx 正確地將請求轉(zhuǎn)發(fā)到了對應(yīng)的服務(wù)器,照片也能夠正確地顯示出來,
