как развернуть django под suburl за nginx

У меня есть приложение django, работающее на http: // localhost: 12345 . Я хочу, чтобы пользователь мог получить к нему доступ по 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. Например, URL-адреса на такой странице, как «/ foo / far», следует изменить на «/ myapp / foo / bar», чтобы разрешить прокси nginx для myapp. какова правильная конфигурация nginx для достижения этой цели?

Я могу использовать переменные настроек django, чтобы указать префикс корневого URL-адреса, но, на мой взгляд, это не гибко, поскольку переменная должна быть изменена в соответствии с на другую конфигурацию nginx (скажем, однажды nginx может изменить suburl с «/ myapp» на «/ anotherapp»).

23
задан John Wang 15 November 2011 в 07:48
поделиться