在上篇配置了SSL证书与Nginx反向代理后,发现站点访问出现了连接不安全的问题,我们对问题进行了排除和定位,并尝试了多种解决方法,最终实现了微信小程序与服务器的https协议的通信。下面是问题和解决思路的记录:
一、访问站点提示连接不安全
使用https://域名进行浏览器访问时,发现出现连接不安全提示,无法显示想要查看的页面。
通过检查SSL证书的有效期限、TLS协议版本,发现没有问题。经过仔细查看,发现是服务器的443端口没有开放,导致无法显示页面。
二、服务器443端口开放问题
我们的大模型环境存在于一个docker内,而该docker只对外开放了一个端口(登录端口),并且修改端口或映射可能会扰乱服务器内的环境。所以我们新建了一个开放443端口的docker来进行SSL证书的部署与Nginx的反向代理。流程同上篇。
但是发现浏览器访问域名的http或者https仍然出现连接不安全问题,在终端查看相应URL正常,说明SSL证书配置没有问题,问题出在代理的目标服务器IP地址即proxy_pass上。
检查外网ip,发现出现404错误,说明没有接收到请求。
最终,通过在浏览器页面进行源代码检查,发现使用的代理IP不正确,发现是由于使用了梯子的原因,将梯子关掉后再次访问目标网页的get_string,发现能够得到对应的数据。
服务器终端也可以看到请求状态正常:
由于我们的大模型配置在另一个docker容器中,所以我们进行了端口转发,将该docker容器运行的后端端口转发到新docker容器的端口。这样,我们成功解决了微信小程序与服务器通信的问题。
这个问题的解决耗费了近一周的时间,期间尝试了多种方法来找出问题出现的真正原因。