【问题标题】:How to deny access to the host by domain name?如何拒绝通过域名访问主机?
【发布时间】:2014-10-23 08:37:36
【问题描述】:

如何在虚拟主机配置中实现下一个逻辑:

<VirtualHost *:80>

    ServerName domain.com
    ServerAlias admin.domain.com

    DocumentRoot /usr/.../www

    <Directory /usr/.../www>

        AllowOverride all

        if (%{HTTP_HOST} == 'admin.domain.com') {
            deny from {some ip}
        }

    </Directory>

</VirtualHost>

我需要让 admin.explample.com 只能从特定 IP 访问

【问题讨论】:

    标签: apache .htaccess virtualhost


    【解决方案1】:

    替换:

        if (%{HTTP_HOST} == 'admin.domain.com') {
            deny from {some ip}
        }
    

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^admin\.domain\.com$ [NC]
    RewriteCond %{REMOTE_ADDR} !^12\.34\.56\.78$
    RewriteRule ^ - [L,F]
    

    其中 12.34.56.78 是您希望能够访问主机的 IP。所有其他 IP 将导致 403 Forbidden 结果。

    【讨论】:

    • 谢谢大佬,抱歉回答太长了,刚刚被假释出狱
    猜你喜欢
    • 2012-12-28
    • 2017-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-03
    • 2020-01-18
    相关资源
    最近更新 更多