Nginx 訪問認證

Nginx 訪問認證

應用環境:

企業內部人員,訪問一些企業內部的網站,例如phpmyadmin或者公司的一些文檔服務器

Nginx配置:

安裝httpd,爲了實現Nginx可以使用htpasswd命令

[root@node1 vhost]# yum  -y install httpd        # 安裝httpd,爲了實現Nginx可以使用htpasswd命令

[root@node1 ~]# mkdir /usr/local/nginx/conf/htpasswd/    #創建存放用戶和密碼的目錄

[root@node1 ~]# htpasswd  -bc /usr/local/nginx/conf/htpasswd/test_user  user  password  #創建一個用戶密碼文件

test_user:文件名稱

user:用戶

password:密碼(是經過加密的)

[root@node1 htpasswd]# cat test_user

user:wPqXPPVO5ad9M    #用戶和加密密碼

Nginx配置文件:

server

{

listen       80;

server_name  learn1.proxy.com;

index index.php  index.html index.htm;

root  /data/www/learn1.proxy.com;

error_log  /data/weblogs/learn1_error.log  crit;

access_log  /data/wwwlogs/learn1.log  access;

location / {

                 auth_basic "Please Input Password...";     #提示信息

                 auth_basic_user_file  /usr/local/nginx/conf/htpasswd/test_user;  #用戶密碼文件存放路徑,這裏寫絕對路徑,否則會報錯403

                }

location ~ \.php$ {

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

include        fastcgi.conf;

}

}

測試:

     

wKioL1kw-cLA5X45AAE1-bDx3sQ025.jpg-wh_50

wKiom1kw-drA4DsRAABexrKXrxU804.jpg-wh_50

 

htpasswd命令選項參數說明:

-c創建一個加密文件。

-n不更新加密文件,只將htpasswd命令加密後的用戶名和密碼顯示在屏幕上。

-m默認htpassswd命令採用MD5算法對密碼進行加密,該參數默認情況下可以不加。

-d表示htpassswd命令採用CRYPT算法對密碼進行加密。

-s表示htpassswd命令採用SHA算法對密碼進行加密。

-p表示htpassswd命令不對密碼進行進行加密,即明文密碼。

-b表示在htpassswd命令行中一併輸入用戶名和密碼而不是根據提示輸入密碼。

-D表示刪除指定的用戶。

[root@node1 htpasswd]# htpasswd  -b test_user  bbb bbb  #添加新用戶

Adding password for user bbb         #添加用戶提示信息

[root@node1 htpasswd]# cat test_user   #內容

user:wPqXPPVO5ad9M

bbb:V1wqRumuBNlKE

添加新用戶時,不可以使用htpasswd  -bc  test_user  bbb bbb這樣的方式進行添加,否則會覆蓋已有用戶。

[root@node1 htpasswd]# htpasswd  -D test_user  bbb   #刪除用戶

Deleting password for user bbb    #刪除用戶提示信息

[root@node1 htpasswd]# cat test_user

user:wPqXPPVO5ad9M


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章