@MehanoidRUS

Как настроить nginx proxy_pass на внутренние сервера по location?

Есть сервер с nginx (nginx/1.16.1) demo.test.local (192.168.220.11) и несколько серверов c apache за ним (192.168.222.30, 192.168.222.32, 192.168.222.35). Поставлена задача при обращение https://demo.test.local/<цифровой_идентификатор> перенаправлять запрос на apache, сервер выбирается в зависимости от <цифровой_идентификатор>.
Пока что, для теста, работаю с одним сервером ip=192.168.222.35, <цифровой_идентификатор>=123
Конфигурация nginx
server {
        listen 443;
        server_name demo.test.local;
        access_log /var/log/nginx/t_access.log test;
        error_log /var/log/nginx/t_error.log info;
        ssl_certificate /etc/pki/tls/certs/test.local.crt;
        ssl_certificate_key /etc/pki/tls/private/test.key;
        location / {
#               try_files $uri @gm;  
        }
        location /123/ {
                proxy_pass https://192.168.222.35/;
                proxy_set_header Host $http_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-Proto $scheme;
                proxy_redirect / /123/;
        }
        location @gm {
               proxy_pass https://192.168.222.35;
        }
}

При данной конфигурации происходит перенаправление на нужный сервер, но не загружаются js и css. В логах
[28/Oct/2021:17:30:39 +0300] "302" "HOST=demo.test.local proxy-host=192.168.222.35 uri=/123/ query=- referrer=-
---------------------------------
[28/Oct/2021:17:30:39 +0300] "200" "HOST=demo.test.local proxy-host=192.168.222.35 uri=/123/Account/LogOn query=ReturnUrl=%2f referrer=-
---------------------------------
[28/Oct/2021:17:30:39 +0300] "404" "HOST=demo.test.local proxy-host=- uri=/front/dist/logon.vendor.434d9aea5bd43fa26608.css query=- referrer=-
---------------------------------
[28/Oct/2021:17:30:39 +0300] "404" "HOST=demo.test.local proxy-host=- uri=/front/dist/logon.dc155e55d90848a71888.css query=- referrer=-
---------------------------------
[28/Oct/2021:17:30:39 +0300] "404" "HOST=demo.test.local proxy-host=- uri=/front/dist/logon.vendor.434d9aea5bd43fa26608.js query=- referrer=-
---------------------------------
[28/Oct/2021:17:30:39 +0300] "404" "HOST=demo.test.local proxy-host=- uri=/front/dist/logon.dc155e55d90848a71888.js query=- referrer=-

Если раскомментировать строку "try_files $uri @gm;", то перенаправление работает, сайт полностью функционирует, но теряется смысл в <цифровых_идентификаторах> и возможность перенаправлять на различные сервера.

Основной вопрос, как реализовать перенаправление в данном, тестовом, примере что-бы использовались идентификаторы?
Вторично, каким образом решить основную задачу с перенаправлением?
  • Вопрос задан
  • 98 просмотров
Пригласить эксперта
Ответы на вопрос 1
Lynn
@Lynn
nginx, js, css
Настроить сервер на 192.168.222.35 что бы он добавлял префикс /123/ в ссылки на js, css, картинки и т.д. Как именно это делать сильно зависит от сервера.

Но обычно проще не заморачиваться этим, а поднимать поддомены.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы