Nginx全局服务器块?

Nginx全局服务器块?,nginx,Nginx,如何定义适用于所有虚拟主机的服务器块 Aka有一个通用块来为所有子域配置SSL(它们使用相同的证书) 如果您有多个使用公共配置的server块,那么许多nginx指令可以放在外部块(http{…})中,并将被任何未专门覆盖值的服务器块继承。注意上下文:当检查nginx指令时。看 或者,使用include指令将公共配置语句从外部文件拉入配置文件的任何部分。有关详细信息,请参阅。+1对于include,imho是首选方法,因为并非所有指令都可以放置在服务器块中,除此之外,您还可以使用变量替换incl

如何定义适用于所有虚拟主机的服务器块

Aka有一个通用块来为所有子域配置SSL(它们使用相同的证书)


如果您有多个使用公共配置的
server
块,那么许多
nginx
指令可以放在外部块(
http{…}
)中,并将被任何未专门覆盖值的
服务器
块继承。注意上下文:当检查
nginx
指令时。看


或者,使用
include
指令将公共配置语句从外部文件拉入配置文件的任何部分。有关详细信息,请参阅。

+1对于include,imho是首选方法,因为并非所有指令都可以放置在
服务器
块中,除此之外,您还可以使用变量替换include中的公共字符串,从而实现自动化模板化
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;
}