Назад | Перейти на главную страницу

Бэкэнды nginx, proxy_pass и vm

Я намерен запустить несколько веб-приложений на разных виртуальных машинах через прокси-сервер nginx.

Основная проблема заключается в том, что URL-адрес изменяется, например http://example.com/app1/ Попадает в веб-приложение (но CSS не отображается) и при нажатии, например, "логин" там такой: http://example.com/login/

Итак, что я получаю:

example.com/app1/ -> "click" -> example.com/login/

Я хочу:

example.com/app1/ -> "click" -> example.com/app1/login/

Установка

Виртуальная машина перенаправляет весь входящий трафик порта 80 на Nginx-VM, Webapp работает на другой виртуальной машине, размещает собственный веб-сервер, например. порт 8000.

файл /etc/nginx/sites-enabled/default (abbrev.):

server {
    listen 0.0.0.0:80;
    server_name example.com;
    location /app1/ {
        proxy_pass http://10.11.100.204:8080/;
    }
}

Я пробовал разные вещи, например оставив косую черту в конце proxy_pass, но это дает мне 404 при вызове example.com/app1. proxy_set_header Host $host тоже не помогло.

Выход Curl

С машины гипервизора (как в комментариях):

HTTP/1.0 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 3587
Set-Cookie: session=.eJyrVorPTFGyqlZSSFKyUooM98uOCnE0jHIPLfdzcTWMcnGs8s1KrvTNysmOzEo2ijQKrfINdzXwd0m2Va rVUcrJT07MSYVrB2oDCxckpqfGZ2QWl-QXVSpZRStllJQUWOnrF5fmJCbn6-Wm5ZTmF-klZ-grxdYCABkQKVw.B4U2hw.Rbl3k3yxoLQx1UgKpP68uB_X5cI; HttpOnly; Path=/
Server: Werkzeug/0.9.6 Python/2.7.3
Date: Wed, 31 Dec 2014 07:25:59 GMT

Извне (с внешним URL-адресом example.com/app1/):

HTTP/1.1 200 OK
Server: nginx/1.2.1
Date: Wed, 31 Dec 2014 07:35:06 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 3587
Connection: keep-alive
Set-Cookie: session=.eJyrVorPTFGyqlZSSFKyUorKDTX1C3HL8nPxNPU18suKzI008ctyyojKdTWJDEk38s31LffN8iz3C3G0VarVUcrJT07MSUVodw8FCxckpqfGZ2QWl-QXVSpZRStllJQUWOnrF5fmJCbn6-Wm5ZTmF-klZ1hZGOgrxdYCAHnCKcI.B4U4qg.IWeiafAy-VOV0vhuyUP-dlDFt5w; HttpOnly; Path=/

Без косой черты "example.com/app1"

HTTP/1.1 301 Moved Permanently
Server: nginx/1.2.1
Date: Wed, 31 Dec 2014 07:29:52 GMT
Content-Type: text/html
Content-Length: 184
Location: http://example.com/app1/
Connection: keep-alive

Заранее спасибо!