我遵循指示,仍然无法密码保护我的网站。 这就是我的app-Nginx.config的样子:
server { Listen 80; server_name Server_Test; auth_basic "Restricted"; auth_basic_user_file /usr/local/Nginx/conf/htpasswd; ... }
我哪里错了? 我从一个教程网站复制并粘贴了这个权限。
如何在Nginx中托pipe许多SNI证书
Nginx服务器名称正则Expression式当“主机”头有一个尾点
使用Nginx与服务器上的Git
Nginx,瘦,和多个主机
uwsgi错误python应用程序未find
确保Nginx可以访问密码文件。 auth_basic_user_file的路径是相对于Nginx.conf的目录的。 所以如果你的Nginx.conf位于/usr/local/Nginx你可以把你的指令改成:
auth_basic_user_file conf/htpasswd;
并且该文件必须是可读的。
这个文件应该可以被非特权用户运行的工作人员读取。 例如, 当Nginx从www运行时,你可以将权限设置为:
chown root:nobody htpasswd_file chmod 640 htpasswd_file
– 来自http://wiki.Nginx.org/httpAuthBasicmodulee
只是让我的Nginx服务器工作,甚至配置它来保护我的根文件夹访问。 我想与你分享我的发现,并在途中也给这个页面的问题提供一个很好的和工作的答案。
作为Nginx的新用户(版本1.10.0 – Ubuntu)。 我得到的第一个问题是知道文件位置,所以这里是关键的位置:
了解你的位置:
主文件夹位置: /etc/Nginx
默认站点位置: /var/www/或甚至/ver/www/HTML/ (在HTML文件夹内将是index.HTML文件 – 希望你知道该怎么做。)
配置文件:
主配置文件: /etc/Nginx/Nginx.conf
当前的站点服务器 conf: /etc/Nginx/sites-enabled (第一次安装时有一个文件名为default ,你需要使用sudo才能改变它(例如: sudo vi default )
添加密码:
所以,现在我们知道了玩家(对于一个静态的开箱即用的站点),我们把一些文件放在'HTML'文件夹中,然后给它添加密码保护。
要设置密码,我们需要做两件事:1.创建一个密码文件(尽可能多的用户,但我会解决1)。 2.配置当前服务器(“默认”)来限制此页面,并使用1中的文件启用密码保护。
1.我们来创建一个密码:
我想用这个sudo htpasswd -c /etc/Nginx/.htpasswd john行是: sudo htpasswd -c /etc/Nginx/.htpasswd john (你会得到提示输入并重新输入密码)你可以在一行中完成: sudo htpasswd -c /etc/Nginx/.htpasswd john [your password]
我将解释命令的每个部分:
sudo htpasswd – 使用更高的权限。
-c – for:创建文件(将另一个用户添加到现有用户中,跳过此参数)
/etc/Nginx/.htpasswd – 创建文件的名称(/ etc / Nginx文件夹中的“.htpsswd”)
john是用户的名字(在提示的“用户”字段中输入)
password是此特定用户名所需的密码。 (提示时..)
通常htpasswd命令不适合你,所以你必须安装它的包:
使用: sudo apt-get install apache2-utils (如果失败,请尝试使用sudo apt-get update试)
2.让我们配置服务器使用此文件进行身份验证
让我们用这一行来编辑当前(默认)的服务器conf文件:
sudo vi /etc/Nginx/sites-enabled/default (你不必使用'vi',但是我喜欢它。)
删除大部分注释(#)后,该文件看起来像这样
# Default server configuration # server { Listen 80 default_server; Listen [::]:80 default_server; root /var/www/HTML; # Add index.PHP to the List if you are using PHP index index.HTML index.htm index.Nginx-debian.HTML; server_name _; location / { # First attempt to serve request as file,then # as directory,then fall back to displaying a 404. try_files $uri $uri/ =404; } }
我们需要在块内添加两行('/'指向站点的根文件夹),所以它看起来像这样:
location / { # First attempt to serve request as file,then fall back to displaying a 404. try_files $uri $uri/ =404; auth_basic "Restricted Content"; auth_basic_user_file /etc/Nginx/.htpasswd; }
我会解释这些新的行:
auth_basic "Restricted Content"; – 定义访问管理的类型
auth_basic_user_file /etc/Nginx/.htpasswd; – 将我们创建的文件(/etc/Nginx/.htppasswd)定义为此验证的密码文件。
让我们重新启动服务,并享受密码保护的网站:
sudo service Nginx restart
中提琴 – 享受…
这里有一些更好的教程:
很好的解释
另一个教程
总结以上是内存溢出为你收集整理的Nginx – 密码保护不起作用全部内容,希望文章能够帮你解决Nginx – 密码保护不起作用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)