背景
我有 3 臺(tái)服務(wù)器,1臺(tái)web服務(wù)器對(duì)外提供訪(fǎng)問(wèn),另外兩臺(tái)服務(wù)器 qc1 和 qc2 用于存儲(chǔ)不同設(shè)備識(shí)別后保存的照片。它們的 ip 地址如下:
服務(wù)器名稱(chēng) | IP地址 |
---|---|
Web服務(wù)器 | 10.76.2.10 |
QC1 | 192.168.100.1 |
QC2 | 192.168.100.2 |
前端程序需要根據(jù)照片的文件名稱(chēng)把圖片顯示出來(lái),最開(kāi)始想到的就是通過(guò) nginx 進(jìn)行反向代理來(lái)解決這個(gè)問(wèn)題。
舉個(gè)例子,照片文件名稱(chēng)是 QC1 開(kāi)頭的,那么就是從 192.168.100.1 服務(wù)器上取照片,用戶(hù)訪(fǎng)問(wèn) http://10.76.2.10:8029/media/QC1_20220318T131856_1_CT.jpg,實(shí)際上訪(fǎng)問(wèn)的是 http://192.168.100.1/media/QC1_20220318T131856_1_CT.jpg 。
但是由于本人對(duì) Nginx 配置不是很熟悉,剛好最近 chatgpt 大紅大紫,于是萌生了詢(xún)問(wèn) ChatGPT 來(lái)解決這個(gè)問(wèn)題的想法,于是就產(chǎn)生了下面我和 ChatGPT 的對(duì)話(huà)。
使用ChatGPT解決
我向 ChatGPT 咨詢(xún)了關(guān)于 Nginx 反向代理的問(wèn)題,并簡(jiǎn)單介紹了我的背景。ChatGPT rapidly comprehended my issue and furnished me with the subsequent Nginx configuration.
接著 ChatGPT 就給出了 nginx 的配置
如果訪(fǎng)問(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è)試。