如何在NGINX上启用基本身份验证
时间:2019-05-19 01:25:56 来源:igfitidea点击:
Nginx是一个流行的网络服务器用于网络托管。
在本教程中,你将学习如何为你的网站配置Nginx的基本身份验证。
本教程将使用Apache工具包中的' htpasswd '命令实用程序生成加密的凭证文件。
安装Apache工具
你需要' htpasswd '命令来创建。htpasswd加密登录细节。
因此,安装apache工具在系统上获得' htpasswd '命令。
使用Apt-Get的系统:
$ sudo apt-get install apache2-utils
使用yum的系统:
$ yum install httpd-tools
2。创建凭证文件
首先你需要创建一个空的' /etc/nginx/htpasswd‘ 文件(如果不存在)。
我们还可以使用htpasswd命令中的-c来完成此操作。
但是这会覆盖现有的文件,你可能在增加用户时会不小心覆盖现有的文件。
$ touch /etc/nginx/.htpasswd
上面的命令将创建一个新的文件或只是更改现有文件的时间戳。
让我们开始使用htpasswd命令添加新用户。
$ htpasswd -m /etc/nginx/.htpasswd user1 $ htpasswd -m /etc/nginx/.htpasswd user2
-m用于创建md5加密密码。
3。编辑Nginx配置
在这一步,为服务器块编辑Nginx配置文件。
在需要进行身份验证的服务器块中添加以下条目。
server { listen 80 default_server; server_name _; root /usr/share/nginx/html; location / { auth_basic "Restricted Area"; auth_basic_user_file /etc/nginx/.htpasswd; } }
更新位置路径以限制web应用程序的特定应用程序url。
location /restricted/ { auth_basic "Restricted Area"; auth_basic_user_file /etc/nginx/.htpasswd; }
4。重载Nginx服务器
要将更改应用到服务器配置中,请使用以下命令重新加载Nginx服务器。
$ sudo /etc/init.d/nginx reload
systemctl用户还可以使用下面的命令。
$ sudo systemctl reload nginx.service