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
SSL在CherryPy中不起作用_Ssl_Cherrypy - Fatal编程技术网

SSL在CherryPy中不起作用

SSL在CherryPy中不起作用,ssl,cherrypy,Ssl,Cherrypy,我似乎已经根据文档做了所有事情,但SSL就是不起作用。 以下是我的CherryPy settings.conf: 如果我尝试在浏览器中加载site.com:443,它将在不使用证书的情况下工作。 如果我尝试https://site.com 浏览器显示存在SSL连接错误 CherryPy错误和连接日志根本不包含任何内容,就好像它甚至没有收到这些https请求一样。我不确定我的python是否内置了SSL支持,所以我安装了pyOpenSSL。发生了什么?我如何解决这个问题?通过在CherryPy上安

我似乎已经根据文档做了所有事情,但SSL就是不起作用。 以下是我的CherryPy settings.conf:

如果我尝试在浏览器中加载site.com:443,它将在不使用证书的情况下工作。 如果我尝试https://site.com 浏览器显示存在SSL连接错误


CherryPy错误和连接日志根本不包含任何内容,就好像它甚至没有收到这些https请求一样。我不确定我的python是否内置了SSL支持,所以我安装了pyOpenSSL。发生了什么?我如何解决这个问题?

通过在CherryPy上安装较低版本即3.2.3解决了这个问题。显然,3.6.0中的SSL有问题,3.2.5版中的一个更改破坏了SSL支持。从3.6.0版开始,这一问题还没有得到解决,但如果您需要使用其中一个版本,中建议使用一个补丁。

btcontract.com:443无疑是在执行普通的http请求,因为您没有告诉浏览器使用https。无需使用https://... url上的协议前缀,浏览器将使用普通http-仅仅因为您点击443不会神奇地将普通请求转换为https。所以ssl在您的服务器上不工作。@MarcB好的,谢谢。遗憾的是,这并不能解决我的问题。我在cherrypy前面有nginx,它处理https重定向。看看这个答案@AndrewKloos如果CherryPy可以自己处理HTTPS,为什么要使用nginx?nginx会进行一些请求限制,处理ssl并提供静态内容。我最大的原因是,nginx能够很好地处理DOS攻击,而不会中断非违规客户端。
[global]
request.show_tracebacks = False
server.socket_port = 443
server.thread_pool = 10
log.screen = True
log.error_file = '/root/website/Web.log'
log.access_file = '/root/website/Access.log'
cherrypy.server.ssl_module = 'pyopenssl'
cherrypy.server.ssl_certificate = "/etc/ssl/website/AddTrustExternalCARoot.crt"
cherrypy.server.ssl_private_key = "/etc/ssl/website/btcontract_com.key"
cherrypy.server.ssl_certificate_chain = "/etc/ssl/website/chain.crt"