Nginx– 密码保护不起作用

Nginx– 密码保护不起作用,第1张

概述Nginx – 密码保护不起作用

我遵循指示,仍然无法密码保护我的网站。 这就是我的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 – 密码保护不起作用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1276997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存