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

在具有相同规则的多个端口上运行nginx,nginx,Nginx,我在两个端口上运行nginx,一个用于HTTPS,另一个用于HTTP,但在所有其他方面都相同(即位置指令等)。我想避免重复同样的规则 在nginx config文件中是否有一种方法可以将我的规则写入某种块中,然后将它们包含在我的服务器指令中?是的,您可以在配置中包含额外的文件,请参见下面的和示例: server { listen 80; include location_directives.conf } server { ssl

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


在nginx config文件中是否有一种方法可以将我的规则写入某种块中,然后将它们包含在我的
服务器
指令中?

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

server {
  listen              80;
  include             location_directives.conf
}

server {
  ssl                 on;
  listen              443 default spdy ssl;
  include             location_directives.conf
}
顺便说一下,它更喜欢使用return301从http重定向到https,而不是为两个服务器块定义规则

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