Nginx配置统计页面及访问控制(htpasswd和客户端IP)
生活随笔
收集整理的這篇文章主要介紹了
Nginx配置统计页面及访问控制(htpasswd和客户端IP)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 為何修改Nginx用戶與組?
- 啟用HTTP_STUB_STATUS狀態統計模塊
- 授權的訪問控制
- 基于客戶端IP實現訪問控制
為何修改Nginx用戶與組?
-
Nginx運行時進程需要有用戶與組的支持,以實現對網站文件讀取時進行訪問控制
-
Nginx默認使用 nobody用戶賬號與組賬號,一般也要進行修改
-
修改的方法
編譯安裝時指定用戶與組
修改配置文件時指定用戶與組
開啟和關閉Nginx
[root@localhost nginx]# cd /usr/local/nginx/ [root@localhost sbin]# nginx 開啟nginx [root@localhost sbin]# killall -s QUIT nginx 關閉進程查看端口是否開啟
[root@localhost nginx]# netstat -ntap | grep 80 查看監聽地址 [root@localhost nginx]# yum install -y elinks 檢查 [root@localhost sbin]# elinks http://localhost 查看是否開啟啟用HTTP_STUB_STATUS狀態統計模塊
[root@localhost ~]# tar zxvf nginx-1.12.2.tar.gz [root@localhost ~]#cd /opt [root@localhost opt]# yum install -y gcc gcc-c++ pcre-devel zlib-devel [root@localhost nginx-1.12.2]# ./configure \ 啟動腳本 --prefix=/usr/local/nginx \ 配置安裝路徑 --user=nginx \ 指定用戶 --group=nginx \ 指定組 --with-http_stub_status_module 開啟統計模塊 make && make install [root@localhost nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/ [root@localhost nginx]# cd /usr/local/nginx/ [root@localhost nginx]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ 創建軟鏈接讓系統可以識別修改nginx配置文件
[root@localhost nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf ## 編輯配置文件添加如下內容:location /status {stub_status on;access_log off;}開啟nginx服務
[root@localhost nginx-1.12.2]# nginx在瀏覽器中輸入地址進行訪問統計頁面
http://192.168.136.88/status授權的訪問控制
[root@localhost nginx]# vim /usr/local/nginx/conf/nginx.conf 43 location / {44 auth_basic "secret";45 auth_basic_user_file /user/local/nginx/passwd.db;設置用戶名和密碼
[root@localhost nginx]# yum -y install httpd-tools [root@localhost nginx]# htpasswd -c /usr/local/nginx/passwd.db zhang New password: ## 輸入密碼 Re-type new password: ## 確認密碼 Adding password for user zhang [root@localhost nginx]# cd /usr/local/nginx/ [root@localhost nginx]# nginx [root@localhost nginx]# iptables -F [root@localhost nginx]# setenforce 0 [root@localhost nginx]# systemctl stop firewalld3、修改認證文件的屬主
[root@localhost nginx-1.12.2]# chown nginx /usr/local/nginx/passwd4、修改認證文件權限
[root@localhost nginx-1.12.2]# chmod 400 /usr/local/nginx/passwd5、編輯nginx配置文件
[root@localhost nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf## 在虛擬主機的location字段中添加如下兩行:auth_basic "secret"; auth_basic_user_file /usr/local/nginx/passwd;6、打開瀏覽器,清除緩存并重啟,輸入192.168.136.88進行訪問
只要輸入之前用htpasswd工具生成的用戶名和密碼就可以登錄正常訪問頁面了
基于客戶端IP實現訪問控制
1、修改nginx配置文件,在虛擬主機中添加拒絕地址名單
[root@localhost nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf ## 編輯配置文件server {server_name 192.168.50.134;location / {deny 192.168.136.100; ## 拒絕IP地址為192.168.50.136地址的主機訪問allow all; ## 允許其他所有主機訪問root /var/www/test;index index.html index.php;}}2、重啟nginx服務
[root@localhost conf]# systemctl restart nginx3、使用客戶機(IP:192.168.136.100)進行訪問,打開瀏覽器,清空緩存后重啟,訪問192.168.50.134
從看出已經不能訪問了
總結
以上是生活随笔為你收集整理的Nginx配置统计页面及访问控制(htpasswd和客户端IP)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内存频率揭秘:为何频率越高,电脑性能越强
- 下一篇: Apache与Nginx实现Web页面动