我在两个端口上运行 nginx,一个用于 HTTPS,另一个用于 HTTP,但在所有其他方面都相同(即 location
指令等)。我想避免重复编写相同的规则。
nginx 配置文件中有没有办法将我的规则写入某种 block 中,然后将它们包含在我的 server
指令中?
最佳答案
是的,您可以在配置中包含额外的文件,请参阅 docs示例如下:
server {
listen 80;
include location_directives.conf
}
server {
ssl on;
listen 443 default spdy ssl;
include location_directives.conf
}
附注顺便说一句,它更喜欢使用 return 301 从 http 重定向到 https,而不是为两个服务器 block 定义规则
server {
listen 80;
return 301 https://$host$request_uri;
}
关于nginx - 使用相同的规则在多个端口上运行 nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25199342/