День добрый. Есть вот такой самописный веб-сервер на питоне:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import SimpleHTTPServer, BaseHTTPServer, ssl, cgi
from bootstrap import Bootstrap
from GatewayResponse.GatewayResponseService import GatewayResponseService
class ServerHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def do_GET(self):
return
def do_POST(self):
post = {}
if 'Content-Type' in self.headers:
form = cgi.FieldStorage(
fp=self.rfile,
headers=self.headers,
environ={
'REQUEST_METHOD': 'POST',
'CONTENT_TYPE': self.headers['Content-Type'],
}
)
for item in form.list:
post[item.name] = item.value
self.bootstrap(post)
return
def bootstrap(self, data):
b = Bootstrap(data)
b.start()
response = GatewayResponseService(b.response, 'json')
b.end()
self.send_response(200)
self.send_header('content-type', response.getContentType())
self.end_headers()
self.wfile.write(response.getPackedAnswer())
httpd = BaseHTTPServer.HTTPServer(('localhost', 4443), ServerHandler)
httpd.serve_forever()
Всё работает отлично. НО! Как сделать из него HTTPS? Полазив по интернетам, наткнулся на много туториалов. Но все они сводятся к использованию подобной строчки перед httpd.server_forever()
httpd.socket = ssl.wrap_socket(httpd.socket,
server_side=True,
certfile='./cert.crt')
httpd.serve_forever()
Такой сервер запускается, но не реагирует ни на какие запросы. Более того, даже если ему указать несуществующий путь на сертификат, то он и словом не обмолвится.
Может сможете помочь и подсказать, в чём может быть дело?
P.S. Python 2.7.8