NGINX -删除TLS v1.3

kiz8lqtg  于 7个月前  发布在  Nginx
关注(0)|答案(3)|浏览(79)

我们在IIS Web服务器上遇到了502错误,该服务器最近一直工作正常。
我们不得不改变我们的反向代理机器:从Ubuntu 18.04到Ubuntu 22.04,在这个过程中,NGINX版本从1.21.3更改为1.18.0。
现在,在NGINX 1.18.0中,502发生了。在NGINX日志中我们看到:
SSL握手中的对等端关闭连接(104:未知错误),同时SSL握手到上游
该连接使用TLS v1.3提供服务,由Mozilla Firefox 101.0.1(64位)通知。
我们使用的是Windows Server 2012,它只接受最高版本为v1.2(https://learn.microsoft.com/en-us/windows/win32/secauthn/protocols-in-tls-ssl--schannel-ssp-)的TLS。
在上游日志中没有任何东西。如果我们回到旧的NGINX,连接没有问题(TLS是v1.2)。所以问题似乎在NGINX。我们怀疑它来自TLS v1.3(根据提供的链接),但无法解决这个问题。
我们尝试更新“nginx.conf”ssl_protocols TLSv1 TLSv1.1;,但它不起作用,我们仍然得到TLS v1.3。我们还尝试更新NGINX(apt update和无版本更改)和一些设置(proxy_ssl_nameproxy_ssl_server_nameproxy_pass)也没有成功。
有什么解决办法吗?

qjp7pelc

qjp7pelc1#

有什么解决办法吗?
我们正在使用Windows Server 2012,它只接受最高版本为v1.2的TLS
是的,你发现了这个问题。Win8不支持TLS1.3。但是你有一个业务需要通过TLS1.3进行通信。听起来你想交换你部署的软件栈的一部分。
你可以恢复到以前的Bionic Beaver,但你最好还是坚持使用Jammy。时间已经过去了。你希望你的堆栈组件能跟上不断变化的互联网。

zengzsys

zengzsys2#

我们理解502错误的原因是NGINX在连接失败时不接受私有证书(我们的IIS有一个私有证书-本地生成的)。
这个案例是通过从内部段(nginx和IIS之间)删除SSL来关闭的,同时保留从用户/客户端到NGINX段的SSL v1.3。

5n0oy7gb

5n0oy7gb3#

nginx使用服务器,首先使用服务器然后在此服务器上编辑,etc/nginx/nginx.conf文件并转到SSL部分在此部分中仅用“ssl_protocols TLSv 1 TLSv1.1”这一行替换为“ssl_protocols TLSv1.2”。然后运行“systemctl restart nginx”并检查我们的TLS版本升级。

相关问题