nginx(三)status状态页面的相关信息及配置,以及nginx的访问控制配置
前言:作为一个站长,了解本站实时的状态信息也是维护网站的重要信息之一,同时也能通过一些监控工具,例如zabbix对状态页面进行监控,从而取到实时的状态信息;
**ngx_http_stub_ststus__module模块配置**
stub_status;通过指定的uri输出stub status;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
server {
listen 443 ssl;
listen 172.16.61.4:80;
server_name www.tz.com;
root /data/www/vhost1;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
location /status {
stub_status on; #打开访问状态页面
}
}
status页面指标意义:
Active connections:当前活动的客户端连接数;
accepts:已经接受的客户端连接总数量;
handled:已经处理过的客户端连接总数量;
requests:客户端总的请求数;
Reading:正在读取的客户端请求的数量;
Writing:正向其发送响应报文的连接数量;
Waiting:等待其发出请求的空闲连接数量;
注:定义完status页面后显然不能将其开放至所有用户可见,至此我们需要对它进行访问控制;可以基于ip访问进行控制,也可以基于basic认证进行访问控制;
**ngx_http_access_module模块的配置(基于IP的访问控制)**
allow ADDRESS|CIDR|unix:|all;允许哪些ip地址进行访问;
deny ADDRESS|CIDR|unix:|all;拒绝哪些ip地址进行访问;
1
2
3
4
5
location /status {
stub_status on;
allow 172.16.61.4; #我们只将该页面限制在本地ip地址可以访问
deny all;
}
**ngx_http_auth_basic_module模块的配置(basic认证)**
auth_basic string|off;使用http basic认证协议对用户进行认证;
auth_basic_user_file file;实现用户的账帐号文件;
1
2
3
4
5
6
7
8
9
10
11
# htpasswd -c -d pass_file tz #生成账户文件,需要放置到nginx的conf.d目录下
New password:
Re-type new password:
Warning: Password truncated to 8 characters by CRYPT algorithm.
Adding password for user tz
location /status { #修改配置文件ststus页面认证方式
stub_statuson;
auth_basic "StatusArea"; #认证界面提示符
auth_basic_user_filepass_file;
}
页:
[1]