Loading... # 前言 昨天搭建好了自己的博客网站,没想到今天顺手打开谷歌,搜索了一下我的网站名,发现排名靠前的是一个不认识的域名dewdrop。cc  在查询了DNS解析记录之后发现,该域名仅有A记录指向了我的网站IP地址,让我想起昨天搭建网站的时候,将000-default.conf解除了enable,导致我的网站可以通过IP直接访问。 很明显,我的博客网站遭到了小偷的恶意解析。 为了避免这个小偷继续偷我的网站,我思考了一下解决办法。 # 解决方法 ## 方法一 重新启用默认站点 重新启用000-default.conf 执行 `a2ensite 000-default.conf` 然后 `service apache2 reload` > 在这种方法下,需要保持原有/var/www/html(默认目录)存在且无敏感内容。 ## 方法二 重定向请求为403 当然,在大部分情况下,我们甚至不想让小偷访问到任何服务资源,包括默认站点,这种时候我们就可以使用Redirect方式。 `vim /etc/apache2/sites-available/000-default.conf` 修改默认网站配置文件。 ```apache <VirtualHost *:80> # 需要将此处的IP(1.2.3.4)替换为你的服务器IP,下面的ServerName仅为实例IP,请勿直接照搬 ServerName 1.2.3.4 ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined Redirect 403 / ErrorDocument 403 "<h1>The URL you are using is illegal</h1><br/>Please access to <a href='https://c11.icu'>https://c11.icu</a>." </VirtualHost> ``` 核心内容是`Redirect 403 /` ,该语句将所有的请求重定向为403 Forbidden 同时,我们为了补偿损失的流量,在下方再补充一行错误信息提示,附上一条指向我们真实网站的链接。 ```apache ErrorDocument 403 "<h1>The URL you are using is illegal</h1><br/>Please access to <a href='https://c11.icu'>https://c11.icu</a>." ``` ## 方法三 使用重写引擎禁止非本域名访问 对于方法一和方法二,HTTP都将小偷的域名拒之门外,但是如果修改为HTTPS,虽然会报证书错误,但是在单击“继续访问”之后还是可以访问到我的博客页面,我尝试了很长时间配置默认HTTPS,但是很奇怪的是都没有办法生效,暂时还没进行深究,之后再考虑一下更新一下这篇文章。 解决方法是最简单粗暴的办法,直接禁止其他非本域名访问站点就可以了,我们使用重写引擎,匹配站点域名,如果**不是本站域名**,而是其他域名的话,直接返回403即可。 首先需要编辑站点的conf文件,此处需要为ssl的配置文件。 `vim /etc/apache2/sites-available/blog-ssl.conf` > 此处的conf文件为ssl的站点配置文件 在`</VirtualHost>`前追加下列代码段 ```apache RewriteEngine On RewriteCond %{HTTP_HOST} !c11.icu RewriteRule ^(.*)$ - [F,L] ErrorDocument 403 "<h1>The URL you are using is illegal</h1><br/>Please access to <a href='https://c11.icu'>https://c11.icu</a>." ``` 不要忘记将域名修改为自己的域名 再在结尾加上一段提示语,完成。 # 最终效果  完成! 最后修改:2020 年 08 月 30 日 12 : 40 PM © 允许规范转载