看到 OpenSSL 更新了很多新特性,手贱对资源站做了升级,重新编译了 Nginx,最后发现根本访问不了,捂脸。。。
怎么升级的,就不赘述了,网上都有,比如《Nginx 启用 OpenSSL TLS1.3 CHACHA20-POLY1305 相关》,其中 Nginx 1.10 不支持 OpenSSL 1.1.1(?),需要升级,比如 Nginx 1.14。
升级完成后,配置无误,服务端运行也无报错,直接 curl (也已重新编译安装)响应正常,Windows10 下,Internet Explorer、Edge、Chrome、FireFox 却无一可访问,基本上提示都是
dl.vircloud.net 使用了不受支持的协议。
ERR_SSL_VERSION_OR_CIPHER_MISMATCH
后台日志显示:
SSL_do_handshake() failed (SSL: error:14209102:SSL routines:tls_early_post_process_client_hello:unsupported protocol) while SSL handshaking
看样子握手失败,到SSL 评价网站 Qualys. SSL Labs 看了下:
居然只支持 TLS 1.3 了,要知道现在支持 TLS 1.3 的浏览器少之又少,看了下网站配置:
......
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
......
编译 Nginx 则是在原基础上增加了参数:
--with-openssl=../src/openssl-1.1.1 --with-openssl-opt='enable-tls1_3 enable-weak-ssl-ciphers'
好像没啥问题啊,到底是哪里出错了呢?
同站服务器另一个站点可以正常访问,不过端口不一样,那我切换个端口试试,再访问看看:
图 2:访问正常(图片不显示?)
我了个去,这是什么骚操作??