【问题标题】:Applying IP rules to HTTP only (and not HTTPS) with .htaccess使用 .htaccess 将 IP 规则仅应用于 HTTP(而不是 HTTPS)
【发布时间】:2012-03-28 23:32:58
【问题描述】:

我最近一直在设置一个 IP 阻止列表,我想知道是否可以阻止通过 HTTP 连接的 IP,如果它们通过 HTTPS 连接则不阻止它们。 SO .Htaccess rules to redirect respective HTTP links to HTTP and HTTPS to HTTPS? 上有一个类似的帖子,但使用了 mod_rewrite,我有过可怕的经历,过去只给了我 500 个错误。有什么办法可以用标准格式来做吗?

order allow,deny 
allow from 192.168.1.0/24
deny from all

我也需要对 IPv6 地址的支持。如果重写方法是唯一的选择,那么在您的回答中是否可以包含一个链接,我可以查看该链接以正确执行我的任务?非常感谢!

我正在使用 Apache/2.2.20 (Ubuntu)

【问题讨论】:

    标签: apache .htaccess


    【解决方案1】:

    Apache 的.htaccess 机制没有内置您想要的东西。简单地说:mod_authmod_access 不支持任何协议级别的命令。此外,您所寻求的内容打破了预期的假设,即如果您通过 HTTP 提供资源,则相同的路径将通过 HTTPS 工作。这会给使用HTTPS enforcers 的人带来令人惊讶的结果。

    但是,如果您下定决心要做这样的事情,我会推荐Squid。您可以使用它来做各种漂亮的事情,例如拒绝基于每个文件从某些协议访问缓存,或者在将数据提供给用户之前摆弄来自 Apache 服务器的数据。

    【讨论】:

    • 我用过squid做防火墙透明代理,经验不多。 Squid 能否在 Ubuntu 服务器上与 Apache 很好地配合使用?我也使用自签名 SSL 证书。
    • @user99545 应该。不过我已经有一段时间没玩过了,所以我推荐the docsaskubuntu.com
    • 酷。 +1 对于您对我完全忽略的 HTTPS 强制执行者的观点。
    猜你喜欢
    • 2013-07-03
    • 2015-12-26
    • 2020-11-04
    • 1970-01-01
    • 1970-01-01
    • 2016-11-12
    • 1970-01-01
    • 2011-12-04
    • 1970-01-01
    相关资源
    最近更新 更多