wxin 发表于 2016-12-27 11:01:55

【飞天奔月出品】nginx 使用stub_status 查看connections,auth_basic 限制访问 v1.0

nginx 配置好了,现在想看看nginx链接情况,怎么搞?
 
这个简单, nginx有个HttpStubStatusModuleChs
详见:  http://wiki.nginx.org/HttpStubStatusModuleChs
 
1.快速配置
只需要在location  下面加入stub_status on;配置即可
 
 
    location /feilong-nginx-status {
        stub_status on;
     }
 
使用feilong-nginx -manager v2.0重载下配置文件
 
访问下看看
 


  
 
显示  以下信息
 
Active connections: 7
server accepts handled requests
 73 73 348
Reading: 1 Writing: 1 Waiting: 5
 
每个参数的意思 :
 
 
Active connections
对后端发起的活动连接数.
Server accepts handled
requests
 Nginx总共处理了73个连接,
成功创建73次握手(证明中间没有失败的),
总共处理了348个请求.
Reading
Nginx 读取到客户端的Header信息数.
Writing
Nginx 返回给客户端的Header信息数.
Waiting
开启keep-alive的情况下,这个值等于 active – (reading + writing),
意思就是Nginx已经处理完成,正在等候下一次请求指令的驻留连接.

 
2.安全
 
这个地址肯定不能随随便便被别人访问,得加把锁,  参见tomcat加把锁
 
2.1  auth basic
 
配置比较简单, nginx有HttpAuthBasicModule模块, 仅需在刚在的地方 ,加上 auth_basic 以及auth_basic_user_file两个参数
 
  location /feilong-nginx-status {
        stub_status on;
        auth_basic "feilong nginx status";
        auth_basic_user_file htpasswd;
     }
其中 auth_basic  用于显示用户输入basic表单提示
而下面的auth_basic_user_file 有点小复杂
 
  2.1.1 如果你服务器上安装了 apache
 可以使用它自带的工具来生成用户名密码
htpasswd -c /etc/nginx/htpasswd.users admin
 
2.1.2 如果没有apache(谁用nginx还装个apache?)
  See also: How do I generate an htpasswd file without having Apache tools installed?
 
2.1.3 如果像鑫哥 windows使用 nginx测试玩玩的
你可以,和 nginx.conf 同文件级,创建个htpasswd文件
里面的用户名密码如下:
 
 


 
 
 
嘿嘿, 可能被你发现了
 
windows下面这个文件,密码即可以是明文, 也可以是加密的密文
 
明文没话可说,  密文,可以使用在线生成神器来生成    http://www.htaccesstools.com/htpasswd-generator-windows/
 




 
 
 
 
 
这么一来 ,我们再访问 ningx_status  路径就需要密码了
 


 
如果没有auth 验证 ,会提示  401 Authorization Required
 


 
 
页: [1]
查看完整版本: 【飞天奔月出品】nginx 使用stub_status 查看connections,auth_basic 限制访问 v1.0