背景
需要给老的业务网站配置HTTPS服务,根据常规配置Nginx后无效,于是就催生了本文。
问题
网站配置了HTTPS,但是访问出现问题:
用于加载此网站的连接使用的是 TLS 1.0 或 TLS 1.1,这两个 TLS 版本都已过时,将在不久后完全停用。届时,用户将无法再加载此网站。服务器应启用 TLS 1.2 或更高版本。
解决
第一步:openssl版本
1.0.1以上的版本支持 TLS1.2
1.1.1以上的版本支持 TLS1.3
openssl版本满足条件,如不满足,需要重新编译安装。
第二步:Nginx重新安装【可选】
可选,看nginx是动态还是静态编译SSL,静态就需要重新编译安装。
如果不存在–with-openssl编译参数:
- Nginx采用的是动态方式编译的SSL;
- 直接重启Nginx即可;
存在–with-openssl编译参数:
- 静态方式;
- 重新对Nginx进行编译;
第三步:Nginx配置
Nginx配置文件
改为
Q&A
【已解决】如果升级了Openssl版本还是无效怎么办?
请仔细检查第二步、第三步。
参考
为CentOS升级OpenSSL 让Nginx支持TLS 1.2:https://www.sunbloger.com/2016/12/26/543.html
nginx 升级支持 TLS1.2,TLS1.3:https://my.oschina.net/maliang0130/blog/3062027
浏览器提示TLS版本过低, 要求升到TLS1.2或TLS1.3的一些问题收录: https://www.cnblogs.com/visionsl/p/12307240.html
How to Install and Update OpenSSL on CentOS 6 / CentOS 7: https://webhostinggeeks.com/howto/how-to-install-and-update-openssl-on-centos-6-centos-7/
列出特定OpenSSL版本支持的SSL / TLS版本: https://www.it-swarm.dev/zh/linux/%E5%88%97%E5%87%BA%E7%89%B9%E5%AE%9Aopenssl%E7%89%88%E6%9C%AC%E6%94%AF%E6%8C%81%E7%9A%84ssl-tls%E7%89%88%E6%9C%AC/1050098974/
Openssl Changelog: https://www.openssl.org/news/changelog.html
(完)