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