Python Bottle 配置 HTTPS

Posted by     "" on Monday, June 4, 2018

python的bottle只提供了http的协议,对于需要htpps的情况,需要通过cherrypy等进行转换,转换代码:

# copied from bottle. Only changes are to import ssl and wrap the socket
 class SSLWSGIRefServer(ServerAdapter):
   def run(self, handler):
     from wsgiref.simple_server import make_server, WSGIRequestHandler
     import ssl
     if self.quiet:
       class QuietHandler(WSGIRequestHandler):
         def log_request(*args, **kw): pass
       self.options['handler_class'] = QuietHandler
     srv = make_server(self.host, self.port, handler, **self.options)
     srv.socket = ssl.wrap_socket (
     srv.socket,
     certfile='server.pem', # path to certificate
     server_side=True)
     srv.serve_forever()

@get("/x")
 def get_x():
 return "Hi there"

#instead of:
#run(host="0.0.0.0", port=8090)
#we use:
srv = SSLWSGIRefServer(host="0.0.0.0", port=8090)
run(server=srv)

以上代码来源

建议使用 Flask 直接按照【】中的步骤配置域名 HTTPS 然后 run 就可以。

「真诚赞赏,手留余香」

EagleYing's Blog

真诚赞赏,手留余香

使用微信扫描二维码完成支付