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