2012-09-13 94 views
2

最近,我發現我的網站正在運行慢。我在我的服務器上發現了8GB的Apache日誌(我在Debian 6服務器上運行了Play!Framework Web應用程序),並且帶寬完全超載。對於每天有幾個視圖的小型個人網站來說,這是完全瘋狂的。爲Apache拒絕錯誤的域配置mod_proxy的請求

經過調查和收集一些信息,我發現了我的錯誤:在我的Apache配置中,我沒有註釋「ProxyRequests On」這一行,所以我的服務器可以免費用作全球所有人的免費代理。多可惜。

至少在那個時候,我調整我的防火牆來限制併發連接,並安裝的Apache2 mod_qos。

但儘管如此,現在不是將請求重定向到他們的目的地是一個很好的免費代理,所有傳入請求重定向到我的web應用程序,無論所訪問。例如,如果有人使用我的服務器認爲它仍然是一個工作代理,在雅虎上搜索「年輕的裸體兒童」,他將會登錄我的網站。我想現在你明白了我的觀點。

那麼,我該怎麼辦,這樣,如果對「http://yahoo.com/whatever」的請求被髮送到我的服務器,該請求被拒絕簡單?

這裏是我當前的配置:

  • /etc/init.d/apache2/sites-available/mysite.fr

    ProxyRequests Off 
    NameVirtualHost *:80 
    
    <VirtualHost *:80> 
    
        ServerName mysite.fr 
        ServerAlias *.mysite.fr 
    
        ProxyPreserveHost On 
        ProxyPass/http://127.0.0.1:9000/ retry=0 
        ProxyPassReverse/http://127.0.0.1:9000 
    
        # Uncomment the line below if your site uses SSL. 
        #SSLProxyEngine On 
    </VirtualHost> 
    
  • 的/ etc/init.d/apache2/mods-available/proxy.conf

    ProxyRequests Off 
    <Proxy *> 
    
        AddDefaultCharset off 
        Order deny,allow 
        Allow from all 
    </Proxy> 
    
+0

我會設置一個廣告載入頁面,享受微利,直到交通減少>。< – thinice

回答

2

我找到了一個解決方案的一些個月前剛剛意識到我忘了和大家分享我發現:

我加了一個「垃圾箱」虛擬主機我的Apache2配置(首次宣佈在httpd.conf) :

<VirtualHost *:80> 
    ServerName stop.spam 
    DocumentRoot /var/www/stopspam 
    ErrorLog /dev/null 
    <Directory /var/www/stopspam> 
     Deny from all 
    </Directory> 
</VirtualHost> 

,並將此向我​​的防火牆配置:

iptables -I INPUT -d XXX.XXX.XXX.XXX -p tcp --dport 80 -m string --to 700 \ 
--algo bm --string 'Host: XXX.XXX.XXX.XXX' -j DROP 

這使得firewa將刪除使用我的服務器IP而不是域名發送的端口80上的請求。

希望這可以幫助別人:)

相關問題