【发布时间】:2011-12-29 07:17:09
【问题描述】:
我有一个在 http://localhost:12345 上运行的 django 应用程序。 我希望用户通过 url http://my.server.com/myapp 访问它。 我使用 nginx 来反向代理它,如下所示:
... ...
server_name my.server.com;
location /myapp {
rewrite /myapp(.*) $1 break;
... ... # proxy param
proxy_pass http://localhost:12345;
}
... ...
问题是,当像上面这样配置时,如何使我的响应页面中的 url 具有前缀“/myapp”,以便 nginx 可以正确地将它们定向到 myapp。例如,像“/foo/far”这样的页面中的 url 应该更改为“/myapp/foo/bar”,以允许 nginx 代理到 myapp。 用于实现此目的的正确 nginx 配置是什么?
我可以使用 django 的设置变量来指定根 url 前缀,但我认为它不灵活,因为变量必须根据不同的 nginx 配置进行修改(比如有一天 nginx 可能会从“/myapp”更改子 URL " 到 "/另一个应用")。
【问题讨论】:
标签: django deployment nginx subdirectory