您的位置:首页技术文章
文章详情页

详解使用ChatGPT解决Nginx反向代理的问题

【字号: 日期:2023-06-15 15:23:30浏览:90作者:猪猪
目录
  • 背景
  • 使用ChatGPT解决
  • 总结

背景

我有 3 台服务器,1台Web服务器对外提供访问,另外两台服务器 QC1 和 QC2 用于存储不同设备识别后保存的照片。它们的 IP 地址如下:

服务器名称IP地址Web服务器10.76.2.10QC1192.168.100.1QC2192.168.100.2

前端程序需要根据照片的文件名称把图片显示出来,最开始想到的就是通过 Nginx 进行反向代理来解决这个问题。

举个例子,照片文件名称是 QC1 开头的,那么就是从 192.168.100.1 服务器上取照片,用户访问 http://10.76.2.10:8029/media/QC1_20220318T131856_1_CT.jpg,实际上访问的是 http://192.168.100.1/media/QC1_20220318T131856_1_CT.jpg

但是由于本人对 Nginx 配置不是很熟悉,刚好最近 ChatGPT 大红大紫,于是萌生了询问 ChatGPT 来解决这个问题的想法,于是就产生了下面我和 ChatGPT 的对话。

使用ChatGPT解决

我向 ChatGPT 说明了我要咨询关于 Nginx 反向代理的问题,并简单介绍了背景。ChatGPT 很快就理解了我的问题,并提供了如下的 Nginx 配置

接着 ChatGPT 就给出了 nginx 的配置

如果访问的地址变了,它又会重新修改配置。

我对它写的 if 语句不清楚是用来做什么的,它也能给出相应的解释。

这个时候我大概明白了,只要我们拿到 $1 变量,就可以实现根据照片的文件名来反向代理服务器的请求。但是之前它提供的 upstream 配置中并没有QC1和QC2对应的地址,还是继续让 ChatGPT 修改。

调整好后,让 ChatGPT 重新生成一个完整的 nginx 配置。

好了,我们把这个配置复制到服务器上,再稍微修改调整一些,重新启动了 Nginx,并使用浏览器测试了一下。

下面是QC1和QC2服务器上面的两张照片

我们通过 http://localhost:8029 (web服务器)分别去访问这两张照片,一切都运行正常,根据照片的文件名,Nginx 正确地将请求转发到了对应的服务器,照片也能够正确地显示出来,

标签: Nginx