Я намерен запустить несколько веб-приложений на разных виртуальных машинах через прокси-сервер 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
Заранее спасибо!