Nginx实现不同域名输出不同的服务器头信息方法
时间:2015-02-19 13:53 来源:linux.it.net.cn 作者:IT
Nginx实现不同域名输出不同的服务器头信息方法,本文使用了一个ngx_headers_more模块实现这个特殊需求,
大家或许会有这种奇葩的需求...
要是同一台主机上, 需要针对不同的域名输出不同的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{
server_name 123;
location / {
more_set_headers 'Server: $server_x_tag';
}
}
像这样子, 是不是好看多了?
(责任编辑:IT)
Nginx实现不同域名输出不同的服务器头信息方法,本文使用了一个ngx_headers_more模块实现这个特殊需求,
大家或许会有这种奇葩的需求... 我们需要用到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{ 像这样子, 是不是好看多了? |