我在两个端口上运行nginx,一个用于HTTPS,另一个用于HTTP,但在所有其他方面都相同(即location
指令等)。我想避免两次写相同的规则。
在nginx配置文件中是否有办法在某种块中编写规则,然后将它们包含在我的server
指令中?
答案 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;
}