如何 运行 使用 HTTPS 在 CherryPy WSGI 服务器 (Cheroot) 上运行 Flask 应用程序?
How to run a Flask app on CherryPy WSGI server (Cheroot) using HTTPS?
我是 运行 Python CherryPy Cheroot WSGI 服务器上的 Python 2.7 Flask 应用程序,现在使用 HTTP,如下所示。
from cheroot.wsgi import Server as WSGIServer
from cheroot.wsgi import PathInfoDispatcher as WSGIPathInfoDispatcher
from MyFlaskApp import app
d = WSGIPathInfoDispatcher({'/': app})
server = WSGIServer(('0.0.0.0', 80), d)
if __name__ == '__main__':
try:
server.start()
except KeyboardInterrupt:
server.stop()
从这里迁移到 HTTPS 需要做什么?
我找到了以下说明,但它似乎不适用于我的应用程序。
from cheroot.server import HTTPServer
from cheroot.ssl.builtin import BuiltinSSLAdapter
HTTPServer.ssl_adapter = BuiltinSSLAdapter(
certificate='cert/domain.crt',
private_key='cert/domain.key')
我可以将上述示例应用到我在 Cheroot 上的 Flask 应用程序吗?如果不是,那么 Flask 应用程序在 Cheroot 上的 HTTPS 的简单示例是什么?
我想出了必要的修改。
关于带有 https 的 Cheroot 上的 Flask 应用程序的信息不多,所以我想我会分享它。
from cheroot.wsgi import Server as WSGIServer
from cheroot.wsgi import PathInfoDispatcher as WSGIPathInfoDispatcher
from cheroot.ssl.builtin import BuiltinSSLAdapter
from MyFlaskApp import app
my_app = WSGIPathInfoDispatcher({'/': app})
server = WSGIServer(('0.0.0.0', 443), my_app)
ssl_cert = "[path]/myapp.crt"
ssl_key = "[path]/myapp.key"
server.ssl_adapter = BuiltinSSLAdapter(ssl_cert, ssl_key, None)
if __name__ == '__main__':
try:
server.start()
except KeyboardInterrupt:
server.stop()
我是 运行 Python CherryPy Cheroot WSGI 服务器上的 Python 2.7 Flask 应用程序,现在使用 HTTP,如下所示。
from cheroot.wsgi import Server as WSGIServer
from cheroot.wsgi import PathInfoDispatcher as WSGIPathInfoDispatcher
from MyFlaskApp import app
d = WSGIPathInfoDispatcher({'/': app})
server = WSGIServer(('0.0.0.0', 80), d)
if __name__ == '__main__':
try:
server.start()
except KeyboardInterrupt:
server.stop()
从这里迁移到 HTTPS 需要做什么? 我找到了以下说明,但它似乎不适用于我的应用程序。
from cheroot.server import HTTPServer
from cheroot.ssl.builtin import BuiltinSSLAdapter
HTTPServer.ssl_adapter = BuiltinSSLAdapter(
certificate='cert/domain.crt',
private_key='cert/domain.key')
我可以将上述示例应用到我在 Cheroot 上的 Flask 应用程序吗?如果不是,那么 Flask 应用程序在 Cheroot 上的 HTTPS 的简单示例是什么?
我想出了必要的修改。 关于带有 https 的 Cheroot 上的 Flask 应用程序的信息不多,所以我想我会分享它。
from cheroot.wsgi import Server as WSGIServer
from cheroot.wsgi import PathInfoDispatcher as WSGIPathInfoDispatcher
from cheroot.ssl.builtin import BuiltinSSLAdapter
from MyFlaskApp import app
my_app = WSGIPathInfoDispatcher({'/': app})
server = WSGIServer(('0.0.0.0', 443), my_app)
ssl_cert = "[path]/myapp.crt"
ssl_key = "[path]/myapp.key"
server.ssl_adapter = BuiltinSSLAdapter(ssl_cert, ssl_key, None)
if __name__ == '__main__':
try:
server.start()
except KeyboardInterrupt:
server.stop()