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 поскольку страница входа предназначена для всех пользователей (включая администраторов).

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

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

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

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

0 ответов

Другие вопросы по тегам