如何让Flask蓝图与多个域一起使用?

时间:2018-01-05 22:38:53

标签: python apache flask virtualhost

我有一个Flask应用程序,希望它适用于Apache + WSGI后面的www.domain-a.net和www.domain-b.net。我可以让它为一个或另一个工作,但无法找到让它同时工作的方法。似乎首先注册的域是唯一有效的域。

最好通过将两个Apache VirtualHost设置为使用相同的WSGI配置来实现。我可以让那部分工作。但Flask只返回404从第二个VirtualHost发送的所有内容。

2 个答案:

答案 0 :(得分:0)

只设置一个Apache虚拟主机。然后在该虚拟主机中,使用ServerNameServerAlias指令定义您的两个主机名。

<VirtualHost *:80>
    ServerName www.domain-a.net
    ServerAlias www.domain-b.net 
    ...
</VirtualHost>

Flask路由应配置为仅查看请求路径,而不是主机名。

答案 1 :(得分:0)

似乎在os环境中设置SERVER_NAME会导致此问题与蓝图注册中的子域一起导致。我从/ etc / apache2 / envvars和子域逻辑中删除了SERVER_NAME并且它有效。