在具有相同规则的多个端口上运行nginx

时间:2014-08-08 08:44:24

标签: nginx

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

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

1 个答案:

答案 0 :(得分:1)

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

server {
  listen              80;
  include             location_directives.conf
}

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

P.S。顺便说一句,它更喜欢使用return 301从http重定向到https,而不是定义两个服务器块的规则

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