大家或許會有這種奇葩的需求...
要是同一臺主機上, 需要針對不同的域名輸出不同的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';
}
}
像這樣子, 是不是好看多了?
新聞熱點
疑難解答