【发布时间】:2015-07-27 20:47:59
【问题描述】:
我需要配置烧瓶应用程序来处理与 HTTP 标头中的任何主机的请求
如果在 SERVER_NAME 中指定了某些 fqdn,如果请求与任何其他域一起使用,则会出现 404 错误。 配置中SERVER_NAME应该如何定义?
如何请求/路由/蓝图化 HTTP 主机名?
【问题讨论】:
我需要配置烧瓶应用程序来处理与 HTTP 标头中的任何主机的请求
如果在 SERVER_NAME 中指定了某些 fqdn,如果请求与任何其他域一起使用,则会出现 404 错误。 配置中SERVER_NAME应该如何定义?
如何请求/路由/蓝图化 HTTP 主机名?
【问题讨论】:
如果您希望flask 接受任何主机名,请使用app.run(host='0.0.0.0')。
【讨论】:
whatever.com时,浏览器确定IP地址(例如123.123.123.123)并发送请求到123.123.123.123。该请求在 HTTP 标头中包含主机名 whatever.com。 Flask 将接收该请求并将来自 HTTP 标头的主机与作为 host 参数传递的主机进行比较。如果flask 以host='0.0.0.0' 启动,那将起作用,如果它以host='whatever.com' 启动,它仍然可以工作,但如果它以host='somethingelse.org' 启动,那么它将拒绝请求,即使somethingelse.org 可能会解决到同一个IP
要允许任何域名,只需从应用程序配置中删除“SERVER_NAME”
【讨论】: