У меня есть приложение 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 пользователями (не админами) одновременно ... :(
В разделе администратора есть много задач, которые влияют на сервер.
Итак, я планировал запустить приложение на двух разных серверах с той же БД и сбалансировать нагрузку. Любое предложение ?