Nginx proxy_pass частино не работает
У меня есть такой конфиг. На N порту развернуты приложения.
server {
listen 80;
location {
proxy_pass http://127.0.0.1:501;
}
location /autotest {
proxy_pass http://127.0.0.1:502;
}
location /dev {
proxy_pass http://127.0.0.1:503;
}
location /dev/autotest{
proxy_pass http://127.0.0.1:504;
}
location /admin {
proxy_pass http://127.0.0.1:505;
}
location /dev/admin {
proxy_pass http://127.0.0.1:506;
}
}
Первые 4 работают корректно и доступны по имени http://servername/location/method А последние 2 нет. К ним я могу обращаться только http://servername:port/method Что я делаю не так?
Ответы (1 шт):
Автор решения: A V
→ Ссылка
server {
listen 80;
location / {
proxy_pass http://127.0.0.1:501/;
proxy_redirect off;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header Host "servername";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location /autotest/ {
proxy_pass http://127.0.0.1:502/;
proxy_redirect off;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header Host "autotest.servername";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location /dev/ {
proxy_pass http://127.0.0.1:503/;
proxy_redirect off;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header Host "dev.servername";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location /dev/autotest/ {
proxy_pass http://127.0.0.1:504/;
proxy_redirect off;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header Host "dev.autotest.servername";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location /admin/ {
proxy_pass http://127.0.0.1:505/;
proxy_redirect off;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header Host "admin.dev.servername";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location /dev/admin/ {
proxy_pass http://127.0.0.1:506/;
proxy_redirect off;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header Host "dev.admin.servername";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}
Сделал так, заработало.