Php 如何使用Laravel';中的.htpasswd保护整个域/目录;s锻造厂
我在使用密码提示保护整个域时遇到问题。我需要对服务器执行此操作(就像Apache中的.htaccess一样) 我的网站托管在DigitalOcean服务器上,服务器由Laravel的Forge提供。该网站本身就是一个Laravel应用程序 我一直在阅读并密切关注关于使用Laravel Forge保护整个域的密码的帖子。我已经完成了这些步骤,并被要求输入用户名和密码。这很好。然而,当我输入正确的用户名和密码时,我会看到“403禁止”Nginx页面 用户名和密码与.htpasswd文件上的用户名和密码匹配(我已在Laravel的公共目录中设置了此文件)Php 如何使用Laravel';中的.htpasswd保护整个域/目录;s锻造厂,php,laravel,.htaccess,nginx,.htpasswd,Php,Laravel,.htaccess,Nginx,.htpasswd,我在使用密码提示保护整个域时遇到问题。我需要对服务器执行此操作(就像Apache中的.htaccess一样) 我的网站托管在DigitalOcean服务器上,服务器由Laravel的Forge提供。该网站本身就是一个Laravel应用程序 我一直在阅读并密切关注关于使用Laravel Forge保护整个域的密码的帖子。我已经完成了这些步骤,并被要求输入用户名和密码。这很好。然而,当我输入正确的用户名和密码时,我会看到“403禁止”Nginx页面 用户名和密码与.htpasswd文件上的用户名和密
location / {
try_files $uri $uri/ /index.php?$query_string;
auth_basic "Restricted Area";
auth_basic_user_file /home/forge/sitename.com/.htpasswd;
}
提前感谢您的帮助
加文这个文件真的可以存储在任何地方。不过,我建议不要把它放在任何可以在线访问的地方。通常,我会把它放在例如
/etc/nginx/.htpasswd
中
如果您想保护整个内容,那么这些行不应该在location块中,而应该在server块中。像这样:
... stuff
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
# FORGE CONFIG (DOT NOT REMOVE!)
... more stuff
该文件应包含每个经过身份验证的用户的单行,其中每行的格式为username:encrypted password
。有很多方法可以生成.htpasswd,我通常只是在谷歌上搜索一些东西,例如
您也可以通过htpasswd实用程序来创建它,但这是Apache服务器软件包的一部分,因此在使用nginx时安装它没有什么意义。谢谢您的帮助Joel。我使用上面的链接生成了一个密码,它成功了。其他.htpasswd、密码生成器似乎出于任何原因抛出nginx服务器。可能是其他网站正在使用过时的算法,尽管我不能确定。我很高兴这有帮助。:)