为什么SSL在Starman中失败

时间:2018-01-16 06:45:06

标签: perl ssl starman

我的设置完美无缺,直到启用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

2 个答案:

答案 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 没有帮助。