Nginx实现不同域名输出不同的服务器头信息方法

(编辑:jimmy 日期: 2024/12/26 浏览:2)

大家或许会有这种奇葩的需求...
要是同一台主机上, 需要针对不同的域名输出不同的Server头, 怎么实现呢"_blank" href="https://github.com/openresty/headers-more-nginx-module">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';
    }
}

像这样子, 是不是好看多了?

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。