【问题标题】:.htaccess password protection allows 127.0.0.1 but not localhost.htaccess 密码保护允许 127.0.0.1 但不允许 localhost
【发布时间】:2011-08-25 16:37:55
【问题描述】:

我正在尝试使用密码保护我的公用文件夹,以便任何尝试从外部访问的人都会被提示输入密码,而不是在本地输入密码。到目前为止,我已经使用 127.0.0.1 但不是 localhost 让它工作。显然我可以只使用 IP 地址,但更重要的是我想知道它为什么不起作用。我不喜欢被打败!

#Enable Password Protection
AuthName "Password Protected Server"
AuthType Basic
AuthUserFile c:\xampp\apache\security\.htpasswd
Require valid-user
Order allow,deny
Allow from localhost
Allow from 127.0.0.1
Satisfy Any

到目前为止,我的代码是以下内容的积累:

http://www.groovypost.com/howto/how-to/htaccess-password-protect-apache-website-security/

htaccess password protect but not on localhost

我在 Windows 7 上运行 XAMPP 1.7.3,以防万一。

任何帮助将不胜感激!

【问题讨论】:

    标签: security apache .htaccess xampp


    【解决方案1】:

    听起来像是 IPv6 问题。当您使用 127.0.0.1 连接到站点时,Apache 将请求视为来自 IPv4 localhost (127.0.0.1)。但是,当连接到 localhost 时,Apache 将请求视为来自 IPv6 localhost (::1)。

    如果这是问题所在,您应该能够通过将Allow from localhost 行替换为Allow from ::1 行来解决它。

    【讨论】:

    • 多么绝对的英雄!我遇到了与此类似的东西,但我将其记为 localhost::1 而不是单独的行。感谢您直截了当!
    • 感谢您解决这个问题!然而,对于任何人来说,“localhost”、“127.0.0.1”和“::1”只是别名。 Apache 不是更容易识别这些别名吗?哦,顺便说一句,您能否添加一些关于它如何在 Apache 2.4+ 中与 Require 一起使用的信息?
    猜你喜欢
    • 2017-05-25
    • 2011-10-15
    • 1970-01-01
    • 2015-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-07
    相关资源
    最近更新 更多