大家或许会有这种奇葩的需求…
要是同一台主机上, 需要针对不同的域名输出不同的Server头, 怎么实现呢?我们需要用到ngx_headers_more模块
location / {
if ( $host = segmentfault.com ){
more_set_headers Server: Nginx;
}
if ( $host = 0x01.segmentfault.com ){
more_set_headers Server: Nginx_improved;
}
….
}像上面这样, 我们就可以来实现这功能了. 但这样靠谱吗? 靠谱, 但是不满足A.R.G.U.S. 的编码风格, 我们绝不允许丑陋的代码让别人看着笑话.
我们追求极客的代码:
map $host $server_x_tag{
segmentfault.com Nginx;
0x01.segmentfault.com Nginx_improved;
default Nginx;
}server_name 123;
location / {
more_set_headers Server: $server_x_tag;
}
}像这样子, 是不是好看多了?