如何在 nginx 配置中添加特定端口的主机名别名

如何在 nginx 配置中添加特定端口的主机名别名

我在不同的端口上有两个独立的应用程序,像这样

# 服务器A:
服务器 {
  听80;
  服务器名称 foobar.com;
  …#很多服务器特定设置
}
# 服务器 B:
服务器 {
  听 8081;
  服务器名称 foobar.com;
  …#很多服务器特定设置
}

我想为 添加“别名” foobar.com:8081baz.foobar.com:80我认为我可以通过重定向或为 ServerB 复制服务器配置部分来实现这一点。但我正在寻找一种更优雅、更正确的解决方案。

答案1

您可以将服务器特定的配置移动到单独的文件中,并将其包含在多个server块中:

/etc/nginx/serverB.conf

root /srv/www/siteB;
...

/etc/nginx.conf(或 中的文件/etc/nginx/sites-available/):

server {
    listen 8081;
    server_name foobar.com;
    include /etc/nginx/serverB.conf;
}

server {
    listen 80;
    server_name baz.foobar.com;
    include /etc/nginx/serverB.conf;
}

相关内容