Назад | Перейти на главную страницу

Nginx перед котом

У меня есть приложение java, в котором есть раздел входа для всех пользователей (http://192.168.0.101:8080/login) и админка для админов (http://192.168.0.101:8080/admin).

Я хочу запустить это приложение на двух серверах для разных пользователей.

http://192.168.0.101:8080/ >> Обычные пользователи + администраторы

http://192.168.0.102:8080/admin >> Только админы

Я пробую это с помощью nginx.

server {
    listen 80;

    server_name domain.com;

    location / {
        proxy_pass                          http://192.168.0.101:8080/;
        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;
    }


    location /admin/ {
                proxy_pass                          http://192.168.0.102:8080/admin/;
        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;
        }
}

Мой nginx в http://192.168.0.103/ Теперь, если я получу доступ http://192.168.0.103/, он показывает мне данные из http://192.168.0.101:8080/. что нормально. Но если я попробую http://192.168.0.103/admin тогда это приводит меня к http://192.168.0.101:8080/login поскольку страница входа предназначена для всех пользователей (включая администраторов).

Что я могу с этим поделать?

Все, что я пытаюсь сделать, это уменьшить нагрузку на сервер. Он съедает много CPU с 60-65 пользователями (не админами) одновременно ... :(

В разделе администратора есть много задач, которые влияют на сервер.

Итак, я планировал запустить приложение на двух разных серверах с той же БД и сбалансировать нагрузку. Любое предложение ?