除了/

时间:2017-12-28 11:50:53

标签: python nginx webserver pyramid

我使用Pyramid,pserve(通过Supervisord运行)和nginx。如果我希望我的应用程序在/以外的位置可用(例如/xml/),我应该在应用程序中为路由添加前缀,还是有办法在nginx中设置所有内容?我现在就是这样做的:

nginx的:

location /xml {
  proxy_pass http://127.0.0.1:6544;
}

金字塔:

config.add_static_view('/xml/static', 'static', cache_max_age=3600)
config.add_route('system_admin', '/xml/admin')

1 个答案:

答案 0 :(得分:0)

单独在nginx中执行此操作可能最好,因为您的webapp可能会生成自己的URL,其中一些可能包含绝对路径。因此,如果它认为它是在/托管,它将生成错误的URL,并且nginx无法知道。

如果您真的想这样做,可以尝试这样的重写规则:

location /xml {
  rewrite /xml(.*) $1 break;
  proxy_pass http://127.0.0.1:6544;
}