3

在启用 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
4

2 回答 2

3

无法完成与客户端句柄的 SSL 连接(SSL 接受尝试失败错误:1407609C:SSL 例程:SSL23_GET_CLIENT_HELLO:http 请求)

这表明客户端已发送 HTTP 请求,而不是预期的 HTTPS 请求。请检查客户端使用的所有 URL - 它们都应该是https://而不是http://因为您将服务器设置为只能通过 HTTPS 访问。

于 2018-01-16T09:16:35.720 回答
0

我有这样的问题并通过 从 debian apt repo安装python-certbot-apache解决了它

但现在我有另一个问题:

SSL_cert_file /etc/letsencrypt/live/.. domain_here ../cert.pem 无法使用:/usr/local/share/perl/5.28.1/IO/Socket/SSL.pm 第 2375 行的权限被拒绝。

dir 的 chown 没有帮助。

于 2020-12-23T14:05:21.633 回答