nginx - 大量主机的反向代理
nginx - reverse proxy for large number of hosts
我们有一个基于端口的多租户。现在,我们在每个租户的 sites-available 目录中都有一个单独的文件。随着租户数量的增加,管理起来变得很麻烦。有更好的选择吗?每个租户都有一个单独的子域。
我们可以在db或者redis中维护子域-端口映射。将它保存在 redis 中并动态路由它会更好吗?
server {
server_name abc.mydomain.com;
location /{ proxy_pass http://localhost:7000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade;
}
}
使用 include 怎么样?
就我而言,我使用的是包含文件
server {
include /etc/nginx/hosts/music.wper.kr;
}
server {
include /etc/nginx/hosts/cet.wper.kr;
}
您可以复制并粘贴每个主机。
我最终创建了一个模板配置文件,并有一个生成实际配置文件的脚本。在我的例子中,它是一个 nodejs 脚本,它将循环遍历项目目录,并为配置文件夹中的每个目录创建一个配置文件。此配置文件夹位置在 nginx.conf.
中的 "include"d
我们有一个基于端口的多租户。现在,我们在每个租户的 sites-available 目录中都有一个单独的文件。随着租户数量的增加,管理起来变得很麻烦。有更好的选择吗?每个租户都有一个单独的子域。
我们可以在db或者redis中维护子域-端口映射。将它保存在 redis 中并动态路由它会更好吗?
server {
server_name abc.mydomain.com;
location /{ proxy_pass http://localhost:7000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade;
}
}
使用 include 怎么样?
就我而言,我使用的是包含文件
server {
include /etc/nginx/hosts/music.wper.kr;
}
server {
include /etc/nginx/hosts/cet.wper.kr;
}
您可以复制并粘贴每个主机。
我最终创建了一个模板配置文件,并有一个生成实际配置文件的脚本。在我的例子中,它是一个 nodejs 脚本,它将循环遍历项目目录,并为配置文件夹中的每个目录创建一个配置文件。此配置文件夹位置在 nginx.conf.
中的 "include"d