什么是红色表示
用户需要输入或定制的生产线将在红色在本教程! 其余的应该主要是复制和粘贴。
关于Nginx
Nginx(发音为'engine x')是一个HTTP和反向代理服务器,以及由Igor Sysoev编写的邮件代理服务器,与apache相比,它是灵活和轻量级的程序。 官方nginx的文档是在这里 。
先决条件
作为先决条件,我们假设您已经阅读了有关如何设置您的VPS的文章,并且已经安装了Nginx。 如果没有,你可以找到在此设立VPS的文章初始服务器设置的文章 ,你可以找到更多的信息, 安装nginx的在我们的社区。
第1步:Apache Utils
我们需要htpasswd来为使用基本认证的用户创建和生成加密。 使用以下命令安装apache2-utils。
sudo apt-get install apache2-utils
第2步:创建用户和密码
在由nginx提供的网站目录下创建一个.htpasswd文件。 以下命令将创建该文件,并将用户和加密密码添加到该文件。
sudo htpasswd -c /etc/nginx/.htpasswd exampleuser
该工具将提示您输入密码。
New password: Re-type new password: Adding password for user exampleuser
htpasswd文件的结构将是这样:
login:password
注意,这个htpasswd应该可以通过运行Nginx的用户帐户访问。
第3步:更新Nginx配置
您的网站的nginx配置文件应该在/ etc / nginx / sites-available /下。 在下面添加要保护的域路径的两个条目。
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
第二行是您的网站的htpasswd文件的位置。
例如,让我们说我们的nginx配置文件是/etc/nginx/sites-available/website_nginx.conf,使用vi或你选择的任何编辑器打开文件。
sudo vi /etc/nginx/sites-available/website_nginx.conf
然后将这两行添加到以下路径中:
server { listen portnumber; server_name ip_address; location / { root /var/www/mywebsite.com; index index.html index.htm; auth_basic "Restricted"; #For Basic Auth auth_basic_user_file /etc/nginx/.htpasswd; #For Basic Auth } }
第4步:重新加载Nginx
为了反映我们网站上的更改重新加载nginx配置,并尝试访问已使用基本身份验证保护的域。
$ sudo /etc/init.d/nginx reload * Reloading nginx configuration...
现在尝试访问您的网站或您保护的域路径,您会注意到一个浏览器提示,要求您输入登录名和密码。 输入在创建.htpasswd文件时使用的详细信息。 提示不允许您访问该网站,直到您输入正确的凭据。
瞧! 你有你的网站域路径安全使用Nginx的基本认证。