繁体   English   中英

CherryPy SSL证书

[英]CherryPy ssl certificate

我在cherrypy之上编写了一个小应用程序。 我想在默认的cherrypy服务器下运行它。 我有我的域名+ Comodo的ssl认证证书。 在过去的24小时里,我一直试图使其在一个简单的应用程序下运行,但没有任何运气。 我编写了一个如下所示的测试应用程序:

import cherrypy

class RootServer:
    @cherrypy.expose
    def index(self, **keywords):
        return "SSL HERE WE COME!!!!"


if __name__ == '__main__':
    server_config={
        'server.socket_host': 'mydomain.com',
        'server.socket_port':443,

        'server.ssl_module':'pyopenssl',
        'server.ssl_certificate':'/var/www/certs/mydomain_com.crt',
        'server.ssl_private_key':'/var/www/certs/mydomain.com.key',
        'server.ssl_certificate_chain':'/var/www/certs/bundle.pem'
    }

    cherrypy.config.update(server_config)
    cherrypy.quickstart(RootServer())

它启动时没有任何问题。 但是,当我尝试访问它时,我得到以下信息:

alex@asus:~> openssl s_client -connect mydomain.com:443 -state -nbio 2>&1 | grep "^SSL"
SSL_connect:before/connect initialization
SSL_connect:SSLv2/v3 write client hello A
SSL_connect:error in SSLv2/v3 read server hello A
SSL3 alert read:fatal:handshake failure
SSL_connect:error in SSLv2/v3 read server hello A
SSL handshake has read 7 bytes and written 261 bytes

我可能做错了什么?

花了我一段时间才弄清楚,但是我让它运行了。 如果有人碰到同样的石头,请在此处发表评论:

import cherrypy

class RootServer:
    @cherrypy.expose
    def index(self, **keywords):
        return 'Success!'

if __name__ == '__main__':
    server_config={
        'server.socket_host': 'mydomain.com',
        'server.socket_port':443,

        'server.ssl_module':'pyopenssl',
        'server.ssl_certificate':'/home/axe/CERTS/domain.crt',
        'server.ssl_private_key':'/home/axe/CERTS/myserver.key',
    }

    cherrypy.config.update(server_config)
    cherrypy.quickstart(RootServer())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM