Linux 如何设置只允许域名访问站点而禁止IP访问站点

最近在论坛里看到有人问到 Linux 如何设置只允许域名访问站点而禁止IP访问站点的问题,之前自己也用过这个功能,可以防止别人用 IP 地址来访问到自己的网站,下面我就我自己的环境给出解决方法,我用的是 OneinStack 的一键包,LANMP 环境,其实都差不太多,大同小异,只要理解了原理,下面的就好办了。

具体方法为:找到 apache 的配置文件,我的环境下路径为:/usr/local/apache/conf/httpd.conf,在文件最下面,Include conf/vhost/*.conf 这句话之前添加如下代码:

<VirtualHost *:88>
    # admin@163.com 为管理员邮箱
    ServerAdmin admin@163.com
    # 默认绑定路径
    DocumentRoot "/home/wwwroot/default"
    # IP地址
    ServerName 115.28.152.187
    <Directory "/home/wwwroot/default">
        SetOutputFilter DEFLATE
        Options FollowSymLinks
        Require all granted
        AllowOverride None
        Order allow,deny
        Allow from all
        DirectoryIndex index.php index.htm
    </Directory>
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{QUERY_STRING} ^(.*)$
        RewriteRule ^(.*)$ http://www.bbseat.com.cn/ [R=301,L]
    </IfModule>
</VirtualHost>

上面的代码是把 IP 地址访问的请求全部跳转到你设定的网站,当然,你也可以直接禁止访问,但感觉这样比直接硬生生的禁止访问更友好些。

原文地址:https://www.cnblogs.com/kimshen/p/6029778.html