如何让一个Flask应用程序监听两个不同的端口?

2024-04-26 14:54:51 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以在两个不同的端口上有一个带路由的单烧瓶应用程序?我的Flask应用需要监听webhook,由于某些安全问题,它无法在默认端口上接收外部POST请求。有可能做这样的事吗?

@app.route('/hook/<sourcename>', methods=["POST"], port=5051)
def handle_hook(sourcename):
  print 'asdf'

Tags: 端口app应用程序flask烧瓶portdefwebhook
2条回答

如果您不需要C插件中的任何套接字代码,gevent可以提供帮助,例如

import gevent
from gevent.pywsgi import WSGIServer

app = Flask(__name__)

https_server = WSGIServer((HOST, HTTPS_PORT), app, keyfile=PRIVKEY, certfile=CERT)
https_server.start()

http_server = WSGIServer((HOST, HTTP_PORT), app)
http_server.start()

while True:
    gevent.sleep(60)

默认情况下,服务器只监听单个端口。既然额外的端口需要额外的功能,那么在第二个端口上实现一个前端服务器,在本地代理POST请求,这难道不更有意义吗?有很多有详细记录的方法可以做到这一点such as this one

相关问题 更多 >