Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用Laravel';中的.htpasswd保护整个域/目录;s锻造厂_Php_Laravel_.htaccess_Nginx_.htpasswd - Fatal编程技术网

Php 如何使用Laravel';中的.htpasswd保护整个域/目录;s锻造厂

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文件上的用户名和密

我在使用密码提示保护整个域时遇到问题。我需要对服务器执行此操作(就像Apache中的.htaccess一样)

我的网站托管在DigitalOcean服务器上,服务器由Laravel的Forge提供。该网站本身就是一个Laravel应用程序

我一直在阅读并密切关注关于使用Laravel Forge保护整个域的密码的帖子。我已经完成了这些步骤,并被要求输入用户名和密码。这很好。然而,当我输入正确的用户名和密码时,我会看到“403禁止”Nginx页面

用户名和密码与.htpasswd文件上的用户名和密码匹配(我已在Laravel的公共目录中设置了此文件)

  • Matt Stauffer的帖子日期是2014年,我想知道你有没有 文章中列出的细节已经过时,或者更有可能过时,是吗 遗漏了什么
  • .htpasswd文件是否应位于Laravel的公共目录中 应用程序还是外部
  • 在中为用户设置密码的正确加密方法是什么 带有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

    如果您想保护整个内容,那么这些行不应该在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服务器。可能是其他网站正在使用过时的算法,尽管我不能确定。我很高兴这有帮助。:)