我想使用nginx作为负载均衡器来将负载分配到2台服务器上。我过去曾经这样做过,但是有一个特定的要求。
我需要根据传入的端口号将请求转发到服务器(从Nginx负载平衡器发送),但是不想在/etc/nginx/conf.d/load-balancer.conf
文件中输入每个条目,并且想知道是否存在是一种基于传入端口号进行正则表达式的方法吗?
目前,作为一个例子,我可以正常使用它:
# Port 444
upstream backend444 {
server 10.0.0.1:444;
server 10.0.0.2:444;
}
server {
listen 444 ssl;
server_name domain.com;
ssl_certificate /etc/letsencrypt/live/domain.com/cert.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
location / {
proxy_pass https://backend444;
}
}
# Port 445
upstream backend445 {
server 10.0.0.1:445;
server 10.0.0.2:445;
}
server {
listen 445 ssl;
server_name domain.com;
ssl_certificate /etc/letsencrypt/live/domain.com/cert.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
location / {
proxy_pass https://backend445;
}
}
如果我可以使用正则表达式或使用变量作为端口号,以便我可以匹配端口号并使用相同的端口号重定向请求?
失败了,还有其他方法可以做到吗?我有很多端口要添加...
谢谢