Я не уверен, что поведение, которое я хочу, действительно возможно изначально с nginx, но здесь идет речь.
У меня есть сервер, работающий на порту 81 со следующей конфигурацией nginx:
CONFIGURATION OF SERVER1 NGINX
server {
listen 81;
server_name SERVER_DNS_NAME;
location /server1 {
proxy_pass http://127.0.0.1:8084/;
proxy_set_header Host $host;
}
location / {
proxy_pass http://127.0.0.1:8084;
proxy_set_header Host $host:$server_port;
}
}
У меня есть другой сервер, работающий на порту 82 с аналогичной конфигурацией.Теперь, что я хотел бы сделать, так это иметь возможность посетить оба порта с 80-го порта с разными URIS.
Например: URL / server1 приведет меня к первому серверу, а URL / server2 приведет меня ко второму.
CONFIGURATION OF NGINX LISTENING ON PORT 80
server {
listen SERVER_IP:80;
location /server1{
proxy_set_header Host $host;
http://SERVER_IP:81;
}
location /server2 {
proxy_pass http://SERVER_IP:82;
proxy_set_header Host $host;
}
Это прекрасно работает, когда я захожу на URL / server1.Я успешно направлен на главную страницу на сервере1.Однако, как только я нажимаю на любую из ссылок, присутствующих на странице на сервере server1, я получаю 404. Это происходит потому, что сайт пытается перейти к URL / some_subdir_of_server1 (для которого нет сопоставления), а не выполняет URL / server1 / some_subdir_of_server1.Это поведение выполнимо?Если да, то как?
Спасибо!