我有一个 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 个用户(不是管理员)占用大量 CPU... :(
管理部分有很多任务会对服务器产生影响。
因此,我计划在两个使用相同数据库的不同服务器中运行应用程序并平衡负载。有什么建议吗?