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 地址访问的请求全部跳转到你设定的网站,当然,你也可以直接禁止访问,但感觉这样比直接硬生生的禁止访问更友好些。