2010-07-29 49 views
2

现在我对塔的项目配置下面几行:我如何获得贴图服务以同时处理HTTP和HTTPS请求?

[server:main] 
... 
ssl_pem = /path-to-pem/file-name.pem 

所以贴膜仅用HTTPS请求,但不是HTTP。任何HTTP请求导致贴膜调试控制台以下异常:

Traceback (most recent call last): 
    File "/home/eigenein/Projects/Python/Pylons/lib/python2.6/site-packages/Paste-1.7.4-py2.6.egg/paste/httpserver.py", line 1068, in process_request_in_thread 
    self.finish_request(request, client_address) 
    File "/usr/lib/python2.6/SocketServer.py", line 320, in finish_request 
    self.RequestHandlerClass(request, client_address, self) 
    File "/usr/lib/python2.6/SocketServer.py", line 615, in __init__ 
    self.handle() 
    File "/home/eigenein/Projects/Python/Pylons/lib/python2.6/site-packages/Paste-1.7.4-py2.6.egg/paste/httpserver.py", line 442, in handle 
    BaseHTTPRequestHandler.handle(self) 
    File "/usr/lib/python2.6/BaseHTTPServer.py", line 329, in handle 
    self.handle_one_request() 
    File "/home/eigenein/Projects/Python/Pylons/lib/python2.6/site-packages/Paste-1.7.4-py2.6.egg/paste/httpserver.py", line 431, in handle_one_request 
    self.raw_requestline = self.rfile.readline() 
    File "/usr/lib/python2.6/socket.py", line 406, in readline 
    data = self._sock.recv(self._rbufsize) 
Error: [('SSL routines', 'SSL23_GET_CLIENT_HELLO', 'http request')] 

是否有可能建立贴纸服务的HTTP请求呢?

回答

0

无论如何,你应该使用一些前端服务器,比如nginx。让它处理SSL/Non-SSL,然后通过http/wsgi/fcgi将请求传递给paster。