如何定义适用于所有虚拟主机的服务器块?
Aka有一个通用块来为所有子域配置SSL(它们使用相同的证书)
server {
listen 80;
server_name *.example.com;
return 301 https://$host$request_uri;
}
# Have a block like this that does SSL for all subdomains
server {
listen 443 ssl ;
listen [::]:443 ssl;
server_name *.example.com;
ssl_certificate /certs/live/example.com/cert.pem;
ssl_certificate_key /certs/live/example.com/privkey.pem;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
}
答案 0 :(得分:1)
如果您有多个server
块使用通用配置,则许多nginx
指令可以放在外部块(http { ... }
)中,并且将被任何server
继承。没有专门覆盖值的块。检查nginx
指令时,请注意上下文:。请参阅the list of directives。
或者,使用include
指令将外部文件中的公共配置语句提取到配置文件的任何部分。有关详细信息,请参阅this document。