Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 为什么SSL在Starman中失败_Perl_Ssl_Starman - Fatal编程技术网

Perl 为什么SSL在Starman中失败

Perl 为什么SSL在Starman中失败,perl,ssl,starman,Perl,Ssl,Starman,在启用SSL之前,我的设置工作正常 这个 工作正常,但这: 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 req

在启用SSL之前,我的设置工作正常

这个

工作正常,但这:

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的Ubuntu16.04.2 LTS上运行Perl5,版本22,Subversion1

端口似乎已转发正常:

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
无法使用客户端句柄完成SSL连接(SSL接受尝试失败错误:1407609C:SSL例程:SSL23\u GET\u client\u HELLO:http请求)


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

我有这样的问题,并通过安装解决了它 python certbot apache 来自debian apt回购

但现在我有另一个问题:

SSL_cert_文件/etc/letsencrypt/live/.domain_此处../cert.pem不能使用:在/usr/local/share/perl/5.28.1/IO/Socket/SSL.pm第2375行拒绝许可


dir的chown没有帮助。

明白了!是的,这是真的!然而,我现在发现使用https超时了。有什么想法吗?我应该重新问这个问题吗?事实证明,您需要在控制台上的AWS防火墙规则上启用https
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