nginx/gunicorn + Django: 第三方应用集成子域配置
nginx/gunicorn + Django: subdomain configuration for third party application integration
我正在构建一个常规的 django 项目 - 不同之处在于:
我希望 django 网站 仅 "work" 在指定的子域上 - 例如,http://www.foo.mydomain.com
我想在另一个指定的子域上使用与 运行 完全不同的应用程序 - 例如http://www.foobar.mydomain.com
如何设置 Django 项目,使其仅 运行 在特定子域上,并且不拦截对其他子域的请求 - 因此其他应用程序可以 运行 在其他子域上在同一个父域上?
[[注1]]
第二个应用程序(另一个子域上的运行ning 不是 django 应用程序)。事实上,我想 运行 在另一个子域上 mattermost - 这样我就可以将 mattermost 集成到我的网站中。
[[注2]]
我正在使用 nginx + gunicorn 作为服务器
为每个域使用单独的 server
块。参见 this document。
server {
server_name www.foo.mydomain.com;
...
}
server {
server_name www.foobar.mydomain.com;
...
}
如果找不到 server_name
匹配项,nginx
将使用默认服务器。因此,定义一个包罗万象的服务器块以防止 nginx
使用上面的服务器块之一。
server {
listen 80 default_server;
deny all;
}
我正在构建一个常规的 django 项目 - 不同之处在于:
我希望 django 网站 仅 "work" 在指定的子域上 - 例如,
http://www.foo.mydomain.com
我想在另一个指定的子域上使用与 运行 完全不同的应用程序 - 例如
http://www.foobar.mydomain.com
如何设置 Django 项目,使其仅 运行 在特定子域上,并且不拦截对其他子域的请求 - 因此其他应用程序可以 运行 在其他子域上在同一个父域上?
[[注1]]
第二个应用程序(另一个子域上的运行ning 不是 django 应用程序)。事实上,我想 运行 在另一个子域上 mattermost - 这样我就可以将 mattermost 集成到我的网站中。
[[注2]]
我正在使用 nginx + gunicorn 作为服务器
为每个域使用单独的 server
块。参见 this document。
server {
server_name www.foo.mydomain.com;
...
}
server {
server_name www.foobar.mydomain.com;
...
}
如果找不到 server_name
匹配项,nginx
将使用默认服务器。因此,定义一个包罗万象的服务器块以防止 nginx
使用上面的服务器块之一。
server {
listen 80 default_server;
deny all;
}