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

Jed*_*tep 5 python flask

是否可以使用一个烧瓶应用程序在两个不同端口上路由?我的Flask应用程序需要侦听Webhook,并且由于一些安全事务,它无法在默认端口上接收外部POST请求。有可能做这样的事情吗?

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

小智 5

如果您不需要 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)
Run Code Online (Sandbox Code Playgroud)


hol*_*web 1

默认情况下,服务器仅侦听单个端口。由于附加端口需要附加功能,因此在第二个端口上实现本地代理 POST 请求的前端服务器不是更有意义吗?有许多有据可查的方法可以做到这一点,例如这个