1、概述
我們有的時候,通過nginx開啟http服務,作為文件服務器,但是,默認的是沒有用戶名和密碼的認證的,出於安全的考慮,我們需要為我們的文件服務器開啟最基本的認證,也就是用戶名和密碼的認證。
OK,接下來的內容,就是介紹如何在nginx中開啟用戶名、密碼的認證方式,來保證基本的訪問安全。
2、配置過程
2.1、設置用戶名、密碼文件
- 設置用戶名
echo -n 'admin:' >> /etc/nginx/.htpasswd
執行過程
[root@node142 ~]# echo -n 'admin:' >> /etc/nginx/.htpasswd
[root@node142 ~]#
[root@node142 ~]# cat /etc/nginx/.htpasswd
admin:[root@node142 ~]#
- 設置密碼
openssl passwd -apr1 >> /etc/nginx/.htpasswd
執行過程
[root@node142 ~]# openssl passwd -apr1 >> /etc/nginx/.htpasswd
Password:
Verifying - Password:
[root@node142 ~]#
# 輸入2次相同的密碼
[root@node142 ~]# cat /etc/nginx/.htpasswd
admin:$apr1$t48tHG.G$h20FRAI1fbrBXY3BD0Td90
[root@node142 ~]#
# 查看密碼文件,已經生成了加密的密碼
OK,至此,密碼文件配置完成
2.2、修改nginx的設置(增加認證設置)
- 修改nginx.conf文件,增加如下的部分
vi /etc/nginx/nginx.conf
在server部分,增加如下的內容:
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
增加之后的效果:
- 重新啟動nginx服務
[root@node142 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@node142 ~]# nginx -s reload
[root@node142 ~]#
2.3、訪問驗證
- 通過瀏覽器訪問nginx的路徑
訪問文件路徑的時候,提示輸入用戶名、密碼信息
- 輸入用戶名、密碼
發現,可以查看其中的內容
OK,至此,關於nginx中設置基本的用戶名、密碼的認證方式就完成了。