Я довольно новичок в Nginx. Когда я подключаюсь к своему серверу, я хотел бы иметь несколько сайтов на одном хосте. Каждый сайт представляет собой отдельный док-контейнер, являющийся сервером образа Nginx, обслуживающим приложение Angular. Я использую прокси-проход, потому что в конечном итоге мы будем использовать функцию балансировки нагрузки.
Например, когда я иду на <host name>/teamsite
, это должен быть прокси для вышестоящего сервера http://teamsite
.
Следующий код отлично работает, используя только 1 сайт с переходом на .
upstream teamsite {
server localhost:8200;
}
server {
listen 80;
location / {
proxy_pass http://teamsite;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
gzip on;
gzip_types text/plain application/xml application/javascript;
gzip_proxied no-cache no-store private expired auth;
gzip_min_length 1000;
}
}
Когда я пытаюсь добавить в /teamsite, он перестает работать.
Пример:
upstream teamsite {
server localhost:8200;
}
server {
listen 80;
location /teamsite {
proxy_pass http://teamsite;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
gzip on;
gzip_types text/plain application/xml application/javascript;
gzip_proxied no-cache no-store private expired auth;
gzip_min_length 1000;
}
}
Похоже, Nginx ищет файлы в localhost:8200/teamsite/index.html
вместо localhost:8200/index.html
. Любые идеи, почему дополнительные /teamsite/
добавляются к вышестоящему серверу?
Спасибо за помощь.
Редактировать:
Я пробовал следующий конфиг:
server {
listen 80;
location /teamsite/ {
proxy_pass http://localhost:8200/;
}
}
Теперь при подключении к <host name>/teamsite
обратный прокси выдает ошибки отказа в соединении. Версия Nginx для веб-сервера не показывает никаких подключений или ошибок. Я могу подключиться к версии Nginx для веб-сервера с сервера и моей локальной машины.