Nginx实现不同域名输出不同的服务器头信息方法
大家或许会有这种奇葩的需求...
要是同一台主机上,需要针对不同的域名输出不同的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_name123; location/{ more_set_headers'Server:$server_x_tag'; } }