【问题标题】:How can I limit access to a virtual host (subdomain) to a few specific IPs?如何将虚拟主机(子域)的访问限制为几个特定的​​ IP?
【发布时间】:2011-03-25 18:31:48
【问题描述】:

问题是该虚拟主机指向与主站点相同的根位置。它只是为了在 sub.mysite.com 上镜像 www.mysite.com 的内容。这禁止我在我的 .htaccess 中使用允许和拒绝规则,因为这也会影响 www.mysite.com 的流量。我也试过使用:

RewriteCond %{HTTP_HOST} ^sub.mysite.com$
RewriteCond %{REMOTE_ADDR} !^123\.45\.67\.89$ [OR]
RewriteCond %{REMOTE_ADDR} !^123\.55\.76\.234$ [OR]
RewriteCond %{REMOTE_ADDR} !^12\.54\.67\.87$
RewriteRule ^.*$ http://www.mysite.com [R=301]

IP 地址不在一个范围内,所以我认为生成一个单行 REGEX 来覆盖所有这些是行不通的,并且使用像上面这样的一系列条件根本行不通,而且似乎很乱。上述 IP 仅为示例。我需要限制对大约 10 个唯一 IP 的访问。有什么想法吗?

【问题讨论】:

    标签: apache mod-rewrite virtualhost


    【解决方案1】:

    尝试在目录节点下的虚拟主机中定义允许和拒绝。这应该只对您想要的虚拟主机生效。

    <VirtualHost 111.22.33.55:8080>
        ServerName sub.mysite.com
          <Directory proxy:>
              Order Deny,Allow
              Deny from all
              Allow from 111.22.33
          </Directory>
    </VirtualHost>
    

    【讨论】:

    • 是否需要“代理:”部分?我对 mod_proxy 不是很熟悉。
    • 您也可以填写您的正常目录名称,如“httpdocs”或只是“/”。
    猜你喜欢
    • 2013-11-11
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-03
    • 1970-01-01
    相关资源
    最近更新 更多