如何在 Laravel 的 Forge 中使用 .htpasswd 保护整个 domain/directory
How to protect entire domain/directory with .htpasswd in Laravel's Forge
我在使用密码提示保护整个域时遇到问题。我需要对服务器执行此操作(就像在 Apache 中使用 .htaccess 一样)。
我的网站托管在 DigitalOcean 服务器上,该服务器由 Laravel 的 Forge 提供。该网站本身是一个 Laravel 应用程序。
我一直在阅读并密切关注 Matt Stauffer's post 关于使用 Laravel Forge 保护整个域的密码。我已按照这些步骤操作,系统要求我提供用户名和密码。这很好。然而,当我输入应该是正确的用户名和密码时,我得到了“403 Forbidden”Nginx 页面。
用户名和密码与.htpasswd文件中的用户名和密码一致(我已经在Laravel的public目录下设置了这个文件)。
- Matt Stauffer 的 post 日期为 2014 年,我想知道是否有
post 中概述的详细信息变得过时或更有可能,我是
遗漏了什么?
- .htpasswd 文件是否应该在 Laravel 的 public 目录中
应用程序还是应用程序之外?
- 设置用户密码的正确加密方式是什么
带有 Nginx v.1.11.9 的 .htpasswd 文件?
下面是当前 nginx 设置的一个片段:
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
.
如果您想保护整个内容,这些行不应位于位置块中,而应位于服务器块中。像这样:
... stuff
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
# FORGE CONFIG (DOT NOT REMOVE!)
... more stuff
该文件应由每个经过身份验证的用户对应的一行组成,其中每行的格式为 username:encrypted-password
。有很多生成 .htpasswd 的方法,我通常只是 google 用于某些东西,例如http://www.htaccesstools.com/htpasswd-generator/
您也可以通过例如创建它htpasswd 实用程序,但它是 Apache 服务器包的一部分,因此在使用 nginx 时安装它没有什么意义。
我在使用密码提示保护整个域时遇到问题。我需要对服务器执行此操作(就像在 Apache 中使用 .htaccess 一样)。
我的网站托管在 DigitalOcean 服务器上,该服务器由 Laravel 的 Forge 提供。该网站本身是一个 Laravel 应用程序。
我一直在阅读并密切关注 Matt Stauffer's post 关于使用 Laravel Forge 保护整个域的密码。我已按照这些步骤操作,系统要求我提供用户名和密码。这很好。然而,当我输入应该是正确的用户名和密码时,我得到了“403 Forbidden”Nginx 页面。
用户名和密码与.htpasswd文件中的用户名和密码一致(我已经在Laravel的public目录下设置了这个文件)。
- Matt Stauffer 的 post 日期为 2014 年,我想知道是否有 post 中概述的详细信息变得过时或更有可能,我是 遗漏了什么?
- .htpasswd 文件是否应该在 Laravel 的 public 目录中 应用程序还是应用程序之外?
- 设置用户密码的正确加密方式是什么 带有 Nginx v.1.11.9 的 .htpasswd 文件?
下面是当前 nginx 设置的一个片段:
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
.
如果您想保护整个内容,这些行不应位于位置块中,而应位于服务器块中。像这样:
... stuff
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
# FORGE CONFIG (DOT NOT REMOVE!)
... more stuff
该文件应由每个经过身份验证的用户对应的一行组成,其中每行的格式为 username:encrypted-password
。有很多生成 .htpasswd 的方法,我通常只是 google 用于某些东西,例如http://www.htaccesstools.com/htpasswd-generator/
您也可以通过例如创建它htpasswd 实用程序,但它是 Apache 服务器包的一部分,因此在使用 nginx 时安装它没有什么意义。