我有 3 台服务器,1台Web服务器对外提供访问,另外两台服务器 QC1 和 QC2 用于存储不同设备识别后保存的照片。它们的 IP 地址如下: 服务器名称 IP地址 Web服务器 10.76.2.10 QC1 192.168.100.
我有 3 台服务器,1台Web服务器对外提供访问,另外两台服务器 QC1 和 QC2 用于存储不同设备识别后保存的照片。它们的 IP 地址如下:
前端程序需要根据照片的文件名称把图片显示出来,最开始想到的就是通过 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 正确地将请求转发到了对应的服务器,照片也能够正确地显示出来,????????????! 总结在本文中,我们不仅通过与 ChatGPT 对话来解决了 Nginx 反向代理的问题,并且还能在这个过程中学习到了使用 if 指令来控制请求,学习到新的知识点。 然而,我们也需要注意到一个问题,一开始它并没有正确的给出正确的 Nginx 配置,需要在使用 ChatGPT 的过程中进行反复验证和调整,以确保得到正确的答案,有时可能需要与我们自己的知识和经验相结合,以获得最佳的解决方案。 如果我们降低对 ChatGPT 的期望将其作为工具来使用,而不是完全相信它,ChatGPT 也是一个不错的小助手。 |
2023-01-09
2022-08-10
2022-08-26
2022-08-26
2022-03-01