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