簡體   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