Home  >  Article  >  Operation and Maintenance  >  How to implement status statistics in nginx

How to implement status statistics in nginx

WBOY
WBOYforward
2023-05-27 21:30:221426browse

Basic introduction

  • ngx_http_stub_status_module: This module provides a simple page that displays the current basic status statistics of Nginx, such as the number of active connections, number of request processing, request delay, etc. , can be enabled through the settings command.

  • ngx_http_status_module: This module provides a more comprehensive status information page, including basic status statistics of nginx, detailed information of the current connection, status information of each upstream, and server Status information, etc. Can be enabled via the settings command.

  • ngx_http_upstream_module: This module provides some instructions for monitoring upstream status, such as checking whether the back-end server in upstream is healthy, statistics of request response time, connection time, etc.

  • ngx_http_realip_module: This module can be used to pass the real client IP address to the back-end server in a reverse proxy scenario, so that the back-end server can perform IP-related statistics and processing .

  • ngx_http_limit_conn_module and ngx_http_limit_req_module: These two modules can be used to limit the number of concurrent connections and request frequency to prevent malicious attacks and resource waste.

ngx_http_status_module module

ngx_http_status_module module: This module provides a more comprehensive status information page, including Nginx’s basic status statistics, current connection details, The status information of each upstream, the status information of the server, etc. It can be enabled through setting instructions, for example:

location /nginx_status {
    status;
    access_log off;
    allow 127.0.0.1;
    deny all;
}

You can view the status information of the server by accessing http://server_address/nginx_status.

auth_basic

In Nginx, you can use the auth_basic directive to enable HTTP Basic Authentication to enhance the security of the website. HTTP basic authentication is a simple authentication method that requires users to enter their username and password when accessing a website, and then sends this information to the server for verification through the HTTP protocol. To enable HTTP Basic Authentication using the auth_basic directive, you need to perform the following steps:

 location /status {
                auth_basic      "wjz site";
                auth_basic_user_file    htpasswd;
                stub_status;
        }

htpasswd

htpasswd is a command line tool for managing HTTP Basic Authentication password files. Used to create, modify and delete user and password information in password files.

[root@GOLANG conf]# yum install http-tools -y
[root@GOLANG conf]# htpasswd -c /usr/local/wjz99/conf/htpasswd z
New password: 
Re-type new password: 
Adding password for user z
[root@GOLANG conf]# cat htpasswd
z:$apr1$un8Hrvh8$W2FH0bMYZTOO5nlsC/JrM0

Hide NGINX version

Avoiding displaying the Nginx version number is a security measure that prevents attackers from exploiting known Nginx vulnerabilities to attack the server. Typically, attackers scan servers to detect known vulnerabilities in versions of applications they contain, and then exploit those vulnerabilities to attack the server. Hiding the Nginx version number can prevent attackers from easily discovering and exploiting Nginx vulnerabilities. In addition, hiding the Nginx version can also make it difficult for attackers to determine other software and configuration information used on the server, thereby increasing the difficulty for attackers to invade the server and improving the security of the server. Adopting a simple yet effective security measure of hiding your Nginx version can enhance your server's security and reduce the risk of attacks.

http {
    include       mime.types;
    default_type  application/octet-stream;
    server_tokens off;   #隐藏nginx的版本号
}

The above is the detailed content of How to implement status statistics in nginx. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete