我通过Openssl编写HTTPS服务器。使用Chrome连接服务器,它有ERR_CONNECTION_REFUSED。但使用Firefox连接服务器,它工作正常。
我关注网站the post
openssl s_server -key key.pem -cert cert.pem -accept 44330 -www
结果是一样的。
我怎么解决它!
感谢您阅读此Q!
答案 0 :(得分:0)
您的Chrome可能拒绝连接,因为它不安全(此处Firefox Developer Edition也被拒绝)。默认情况下,openssl使用弱DH参数和不支持的协议(如SSLv3),您应该添加其他选项来保护您的服务器。
首先,产生更强的DH params:
openssl dhparam -out dhparam.pem 2048
使用至少2048,越大越好(我通常使用4096)。然后使用此命令运行服务器:
openssl s_server -key key.pem -cert cert.pem -accept 44330 \
-no_ssl3 -dhparam dhparam.pem -www
请注意,SSLv2也处于被弃用的状态(今年年中,SSLv2的PCI合规性将失败),并且还有一些不安全的密码。
如果您想要一个非常强大的dhparam,请考虑安装一个服务来生成更多的熵,比如hasged(在生成dhparams之前):
apt-get install haveged