Nginx 使用 ngx_headers_more 模块来增加、删除出站、入站的 Header 信息。
ngx_headers_more 项目主页
默认该模块没有加入到 Nginx 的源码中,要想使用相关功能需要在编译 Nginx 时加入该模块。
本人服务器中的 Nginx 在编译时没有加入该模块,使用 -V 查看当前 Nginx 的编译参数:
1
2
3
4
5
6
7
8
|
[
root
@
z
-
dig
~
]
# nginx -V
nginx
version
:
www
.
z
-
dig
.
com
built
by
gcc
4.4.7
20120313
(
Red
Hat
4.4.7
-
16
)
(
GCC
)
built
with
OpenSSL
1.0.1e
-
fips
11
Feb
2013
TLS
SNI
support
enabled
configure
arguments
:
--
prefix
=
/
usr
/
local
/
nginx
--
user
=
www
--
group
=
www
\
--
with
-
http_ssl_module
--
with
-
http_stub_status
_module
[
root
@
z
-
dig
~
]
#
|
从官网下载模块:
1
2
3
4
|
[
root
@
z
-
dig
~
]
# cd /usr/local/src/
[
root
@
z
-
dig
src
]
# wget 、https://codeload.github.com/openresty/headers-more-nginx-module/zip/master\
-
O
.
/
headers
-
more
-
nginx
-
module
-
master
.
zip
[
root
@
z
-
dig
src
]
# unzip headers-more-nginx-module-master.zip
|
重新编译 Nginx 前,请求 www.z-dig.com 的 Header 信息:
1
2
3
4
5
6
7
8
9
10
11
12
|
[
root
@
KVM
~
]
# curl -I www.z-dig.com
HTTP
/
1.1
200
OK
Server
:
www
.
z
-
dig
.
com
Date
:
Sat
,
23
Apr
2016
11
:
25
:
15
GMT
Content
-
Type
:
text
/
html
;
charset
=
UTF
-
8
Connection
:
keep
-
alive
X
-
Powered
-
By
:
PHP
/
5.6.17
Vary
:
Accept
-
Encoding
,
Cookie
Cache
-
Control
:
max
-
age
=
3
,
must
-
revalidate
WP
-
Super
-
Cache
:
Served
supercache
file
from
PHP
[
root
@
KVM
~
]
#
|
现在重新编译 Nginx ,平滑更新:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
[
root
@
z
-
dig
~
]
# cd /usr/local/src/nginx
[
root
@
z
-
dig
nginx
]
# make clean
rm
-
rf
Makefile
objs
[
root
@
z
-
dig
nginx
]
#./configure --prefix=/usr/local/nginx --user=www --group=www \
--
with
-
http_ssl_module
--
with
-
http_stub_status
_module
\
--
add
-
module
=
/
usr
/
local
/
src
/
headers
-
more
-
nginx
-
module
-
master
[
root
@
z
-
dig
nginx
]
# make
[
root
@
z
-
dig
nginx
]
# make install
[
root
@
z
-
dig
nginx
]
# kill -s USR2 `cat /usr/local/nginx/logs/nginx.pid`
[
root
@
z
-
dig
nginx
]
# ps -ef|grep nginx
root
2017
1
0
Apr21
?
00
:
00
:
00
nginx
:
master
process
/
usr
/
local
/
nginx
/
sbin
/
nginx
www
2018
2017
0
Apr21
?
00
:
00
:
30
nginx
:
worker
process
root
21717
2017
0
19
:
41
?
00
:
00
:
00
nginx
:
master
process
/
usr
/
local
/
nginx
/
sbin
/
nginx
www
21718
21717
0
19
:
41
?
00
:
00
:
00
nginx
:
worker
process
root
21856
18312
0
19
:
45
pts
/
2
00
:
00
:
00
grep
nginx
[
root
@
z
-
dig
nginx
]
# kill -s WINCH `cat /usr/local/nginx/logs/nginx.pid.oldbin`
[
root
@
z
-
dig
nginx
]
# ps -ef|grep nginx
root
2017
1
0
Apr21
?
00
:
00
:
00
nginx
:
master
process
/
usr
/
local
/
nginx
/
sbin
/
nginx
root
21717
2017
0
19
:
41
?
00
:
00
:
00
nginx
:
master
process
/
usr
/
local
/
nginx
/
sbin
/
nginx
www
21718
21717
0
19
:
41
?
00
:
00
:
00
nginx
:
worker
process
root
21943
18312
0
19
:
49
pts
/
2
00
:
00
:
00
grep
nginx
[
root
@
z
-
dig
nginx
]
# kill -s QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
[
root
@
z
-
dig
nginx
]
# ps -ef|grep nginx
root
21717
1
0
19
:
41
?
00
:
00
:
00
nginx
:
master
process
/
usr
/
local
/
nginx
/
sbin
/
nginx
www
21718
21717
0
19
:
41
?
00
:
00
:
00
nginx
:
worker
process
root
22050
18312
0
19
:
54
pts
/
2
00
:
00
:
00
grep
nginx
[
root
@
z
-
dig
nginx
]
#
|
到此 Nginx 已重新编译并平滑升级成功。
在 Nginx 的配置文件中加入代码,将之前请求网站返回 Header 中的 X-Powered-By 和 WP-Super-Cache 删除:
1
2
|
more_clear
_headers
'X-Powered-By'
;
more_clear
_headers
'WP-Super-Cache'
;
|
1
2
3
4
|
[
root
@
z
-
dig
~
]
# nginx -t
nginx
:
the
configuration
file
/
usr
/
local
/
nginx
/
conf
/
nginx
.
conf
syntax
is
ok
nginx
:
configuration
file
/
usr
/
local
/
nginx
/
conf
/
nginx
.
conf
test
is
successful
[
root
@
z
-
dig
~
]
# nginx -s reload
|
再次请求查看效果:
1
2
3
4
5
6
7
8
9
10
|
[
root
@
KVM
~
]
# curl -I www.z-dig.com
HTTP
/
1.1
200
OK
Server
:
www
.
z
-
dig
.
com
Date
:
Sat
,
23
Apr
2016
12
:
03
:
04
GMT
Content
-
Type
:
text
/
html
;
charset
=
UTF
-
8
Connection
:
keep
-
alive
Vary
:
Accept
-
Encoding
,
Cookie
Cache
-
Control
:
max
-
age
=
3
,
must
-
revalidate
[
root
@
KVM
~
]
#
|