2016-01-17 4 views
0

У меня есть небольшое приложение, написанное поверх вишневого дерева. Я хотел бы запустить его под червем-сервером по умолчанию. У меня есть мой домен + мой ssl проверенный сертификат от Comodo. Я пытаюсь запустить его под простым приложением в течение последних 24 часов без везения. Я написал тестовое приложение, которое выглядит следующим образом:Сертификат CherryPy ssl

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()) 

Он загорается, не создавая никаких проблем. Однако, когда я пытаюсь получить к нему доступ, я получаю следующее:

[email protected]:~> 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 

Что я могу делать неправильно?

ответ

0

Понадобилось время, чтобы понять это, но я убежал. Оставляя комментарий здесь, если кто-то попадает в тот же камень:

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())