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

时间:2014-07-15 14:13:42

标签: python flask

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

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

2 个答案:

答案 0 :(得分:3)

如果您不需要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)

答案 1 :(得分:2)

默认情况下,服务器只侦听单个端口。它是否更有意义,因为附加端口需要额外的功能,在本地代理POST请求的第二个端口上实现前端服务器?有许多记录完备的方法such as this one