先上配置文件。
worker_processes 2;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream ab{
server 10.32.4.202:7010;
server 10.32.4.202:7011;
}
server { #Nginx代理服务器
listen 80;
server_name 10.0.0.102;
location / {
proxy_set_header Host 10.32.4.202:7010;
proxy_pass http://ab;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
用户访问10.0.0.102,代理到10.32.4.202:7010或10.32.4.202:7011端口.(负载均衡)
10.32.4.202:7010对应10.0.0.100:8080端口
10.32.4.202:7011对应10.0.0.100:8081端口
10.0.0.100:8080和10.0.0.100:8081,是用户真正要访问的应用服务器.
为啥要经过一层10.32.4.202呢,因为公司有加密策略,所有上传的文件都要解密,所有下载的文件都要加密.请求必须要从这里过一下.
经过n次尝试,以上配置,可以访问的通了.
但是,proxy_set_header设置为7010端口,所有的请求都到了10.0.0.100:8080这台应用,就无法起到负载均衡的作用.
问题来了,要实现如下功能,应如何配置呢.
1,用户必须统一入口(10.0.0.0.102).
2,请求必须经过10.32.4.202(要加解密);
3,还能使用负载均衡功能.
感激不尽!