如何防惡意解析,禁止用IP訪問網(wǎng)站的Apache設置?
一般來說,網(wǎng)站可以用域名和IP來訪問。你的網(wǎng)站可以通過IP直接訪問,本來這沒什么問題,但是會有些隱患:
由于搜索引擎也會收錄你的IP地址的頁面,所以同一個頁面搜索引擎會重復收錄,造成頁面的權重不如單個收錄高。
域名惡意指向的可能。還記得去年還是前年的 google.com.sb 事件嗎?google.com.sb 這個域名被惡意指向了百度,后來證實了 google.com.sb 這個域名為第三者惡意指向的,并不是Google所為。當然這只是個玩笑,但是如果被人惡意用別的域名解析到你的IP的話,那么你的網(wǎng)站就能通過別人的域名來訪問了。接下來會發(fā)生什么?假如那域名是不友善的域名,比如曾經(jīng)指向非法網(wǎng)站,容易引發(fā)搜索引擎懲罰,連帶IP受到牽連。即使域名沒什么問題,但流量也會被劫持到別的域名,從而遭到廣告聯(lián)盟的封殺。
如何解決這個問題?最直接的方法是讓用戶只能通過域名來訪問網(wǎng)站,而不能通過IP來直接訪問。這個可以修改Apache配置文件httpd.conf來實現(xiàn)。下面是小站的實現(xiàn):
- NameVirtualHost 121.*.*.*
- <VirtualHost 121.*.*.*>
- ServerName 121.*.*.*
- <Location />
- Order Allow,Deny
- Deny from all
- </Location>
- </VirtualHost>
- <VirtualHost 121.*.*.*>
- DocumentRoot /var/www/nowamagic/
- ServerName www.nowamagic.net
- </VirtualHost>
- <VirtualHost 121.*.*.*>
- DocumentRoot /var/www/nowamagic/
- ServerName nowamagic.net
- </VirtualHost>
第一部分代碼是實現(xiàn)拒絕直接通過 121.*.*.* 這個IP的任何訪問請求,這時如果你用 121.*.*.* 訪問,會提示拒絕訪問。
第二部分代碼就是允許通過 http://www.nowamagic.net/ 這個域名訪問,主目錄指向 /var/www/nowamagic/ (這里服務器OS是 CentOS)。
第三部分代碼是允許不帶 www 的域名訪問,應該能和上面的合并一起寫吧。
在這里記錄下,方便以后信手拈來。