|
要求直接用ip訪問web服務(wù)器時返回400狀態(tài),網(wǎng)上查詢了很多文章,均沒有找到有效的解決辦法。
苦思未解決,于是靈機(jī)一動,可使用php與apache的地址重寫功能實現(xiàn),非常簡單:
1. 新建立一個默認(rèn)主機(jī),即出現(xiàn)在所有<VirtualHost *:80>最重要的
<VirtualHost *:80> ServerName x.x.x DocumentRoot /var/www/error RewriteEngine On RewriteRule ^.* /400.php </VirtualHost>
2. 編輯文件/var/www/error/400.php, 輸出以下代碼:
<?php header("HTTP/1.1 400 Bad Request"); ?> <h1>Bad Request</h1>
如此,即可實現(xiàn)禁止直接用ip訪問apache。
解釋一下上面的原理:
1. 將對默認(rèn)主機(jī)的所有請求重寫向到/var/www/error/400.php
2. 利用php程序輸出400狀態(tài)。
不足之處,apache服務(wù)器必須安裝php解析模塊。
|