我的设置完美无缺,直到启用SSL。
此
starman -p 3001 app.psgi
工作正常,但是这个:
starman --enable-ssl --ssl-cert a.crt --ssl-key a.key -p 3001 app.psgi
没有 - 生成此错误:
Could not finalize SSL connection with client handle (SSL accept attempt failed error:1407609C:SSL routines:SSL23_GET_CLIENT_HELLO:http request)
每次请求都。
在AWS的Ubuntu 16.04.2 LTS上运行perl 5,版本22,subversion 1
端口似乎转发好了:
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
1 REDIRECT tcp -- anywhere anywhere tcp dpt:https redir ports 3001
2 REDIRECT tcp -- anywhere anywhere tcp dpt:https redir ports 3001
3 REDIRECT tcp -- anywhere anywhere tcp dpt:http-alt redir ports 3001
4 REDIRECT tcp -- anywhere anywhere tcp dpt:http redir ports 3001
答案 0 :(得分:3)
无法使用客户端句柄完成SSL连接(SSL接受尝试失败错误:1407609C:SSL例程:SSL23_GET_CLIENT_HELLO:http请求)
这表示客户端已发送HTTP请求而不是预期的HTTPS请求。请检查客户端使用的所有网址 - 它们都应该是https://
而不是http://
,因为您将服务器设置为仅可通过HTTPS访问。
答案 1 :(得分:0)
我有这样的问题并通过安装解决了 python-certbot-apache 来自 debian apt 存储库
但现在我有另一个问题:
SSL_cert_file /etc/letsencrypt/live/..domain_here../cert.pem 不能使用:权限被拒绝在 /usr/local/share/perl/5.28.1/IO /Socket/SSL.pm 第 2375 行。
目录的 chown 没有帮助。