【问题标题】:Running nginx on multiple ports with same rules在具有相同规则的多个端口上运行 nginx
【发布时间】:2014-10-01 16:30:52
【问题描述】:

我在两个端口上运行 nginx,一个用于 HTTPS,另一个用于 HTTP,但在所有其他方面都相同(即location 指令等)。我想避免两次编写相同的规则。

有没有办法在 nginx 配置文件中将我的规则写入某种块中,然后将它们包含在我的 server 指令中?

【问题讨论】:

    标签: nginx


    【解决方案1】:

    是的,您可以在配置中包含额外的文件,请参阅docs 和下面的示例:

    server {
      listen              80;
      include             location_directives.conf
    }
    
    server {
      ssl                 on;
      listen              443 default spdy ssl;
      include             location_directives.conf
    }
    

    附:顺便说一句,最好使用 return 301 从 http 重定向到 https,而不是为两个服务器块定义规则

    server {
      listen              80;
      return              301 https://$host$request_uri;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-28
      • 2020-10-26
      • 1970-01-01
      • 1970-01-01
      • 2017-05-09
      • 2014-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多