记录一下Nginx Proxy Manager设置负载均衡的方法
2024-01-26 08:14:46

docker安装好NPM后,
进入安装目录/npm/date/nginx
创建custom/http.conf
/opt/docker/npm/data/nginx/custom/http.conf

http.conf配置范本如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
upstream 2fa {
server 你的服务器IP:应用端口;
server 1.1.1.1:120;
}

upstream jellyfin {
server 2.2.2.2:18096;
server 3.3.3.3:18096;
}

upstream pcisur {
server 4.4.4.4:28003;
server 5.5.5.5:28003;
}

upstream song {
server 6.6.6.6:14533;
server 7.7.7.7:14533;
}

以上2fa,jellyfin….为应用名称

1
2
3
4
upstream 2fa {
server 149.104.22.155:18120 weight=3;
server 103.30.77.177:18120 weight=1;
}

这种方式是给服务器配置权重,这种配置在某种程度上可以作为优先级的代理:具有更高权重的服务器会处理更多的请求。但请注意,这并不保证第一个服务器总是被优先选择。当第一个服务器忙碌或达到其负载容量时,新的请求仍然可能被路由到权重较低的服务器

接下来进入NPM后台

截图 2024-01-26 16-22-08.png

如图所示填写你的域名,服务器IP,端口号HTTP都填写80,HTTPS都填写443

点击高级设置

截图 2024-01-26 16-25-37.png

输入

1
2
3
4
location / {
proxy_pass http://2fa;#2fa为你刚才编辑的http.conf里面的应用民称
# 80端口用http://2fa;443端口用https://2fa;
}

完整配置

1
2
3
4
5
6
7
location / {
proxy_pass http://2fa;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

保存后就设置成功了