1. 程式人生 > >Ubuntu 16.04 配置 nginx 登陸訪問

Ubuntu 16.04 配置 nginx 登陸訪問

  1. 下載apache2-utils:sudo apt install apache2-utils

  2. root新增使用者zhangsq:htpasswd -c /etc/nginx/.htpasswd zhangsq 在這裡插入圖片描述

  3. 更改/etc/nginx/nginx.conf配置

///////////////////////////配置全站點登陸訪問//////////////////////////////
server {
   listen 80;
   server_name  localhost;
   .......
 
   # 新增下面兩行
   auth_basic "Please input password"; #這裡是驗證時的提示資訊 
   auth_basic_user_file /usr/local/src/nginx/passwd;
 
   location /hello{
   .......
}
/////////////////////////////////////只在/hello目錄開啟登陸訪問/////////////////////////////////////////
server {
   listen 80;
   server_name  localhost;
   .......
   
   location /hello{
	   #新增下面兩行  #新增下面兩行
	   auth_basic "Please input password"; #這裡是驗證時的提示資訊  auth_basic "Please input password"; #這裡是驗證時的提示資訊 
	   auth_basic_user_file /usr/local/src/nginx/passwd;   auth_basic_user_file /usr/local/src/nginx/passwd;
   .......
}
  1. 重啟nginx:nginx -s reload
  2. 然後再次訪問該站點: 在這裡插入圖片描述

以下是htpasswd命令使用介紹

1.htpasswd選項引數

1 2 3 4 htpasswd [-cmdpsD] passwordfile username htpasswd -b[cmdpsD] passwordfile username password htpasswd -n[mdps] username htpasswd -nb[mdps] username password

htpasswd命令選項引數說明 -c 建立一個加密檔案 -n 不更新加密檔案,只將htpasswd命令加密後的使用者名稱密碼顯示在螢幕上 -m 預設htpassswd命令採用MD5演算法對密碼進行加密 -d htpassswd命令採用CRYPT演算法對密碼進行加密 -p htpassswd命令不對密碼進行進行加密,即明文密碼 -s htpassswd命令採用SHA演算法對密碼進行加密 -b htpassswd命令列中一併輸入使用者名稱和密碼而不是根據提示輸入密碼 -D 刪除指定的使用者

2.htpasswd例子

a、如何利用htpasswd命令新增使用者?

1 htpasswd -bc ./.passwd tonyzhang pass

在當前目錄下生成一個.passwd檔案,使用者名稱tonyzhang ,密碼:pass,預設採用MD5加密方式

b、如何在原有密碼檔案中增加下一個使用者?

1 htpasswd -b ./.passwd onlyzq pass

去掉c選項,即可在第一個使用者之後新增第二個使用者,依此類推

c、如何不更新密碼檔案,只顯示加密後的使用者名稱和密碼?

1 htpasswd -nb tonyzhang pass

不更新.passwd檔案,只在螢幕上輸出使用者名稱和經過加密後的密碼

d、如何利用htpasswd命令刪除使用者名稱和密碼?

1 htpasswd -D .passwd tonyzhang

e、如何利用 htpasswd 命令修改密碼?

1 2 htpasswd -D .passwd tonyzhang htpasswd -b .passwd tonyzhang pass
參考:https://blog.csdn.net/dream8062/article/details/78416234