Как получить paster serve для одновременной обработки запросов HTTP и HTTPS?

На данный момент у меня есть следующие строки в конфигурации проекта на пилонах:

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

поэтому paster обслуживает только HTTPS-запросы, но не HTTP. Любой HTTP-запрос вызывает следующее исключение в консоли отладки Paster:

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')]

Можно ли настроить paster для обслуживания HTTP-запросов?

2 ответа

Решение

Как правило, вы все равно должны использовать какой-нибудь интерфейсный сервер, например, nginx. Пусть он обрабатывает как SSL/Non-SSL, так и затем передает запросы paster через http/wsgi/fcgi.

Согласно Pylons FAQ, нет.

http://wiki.pylonshq.com/pages/viewpage.action?pageId=13434886

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

Другие вопросы по тегам