最近、自分のウェブサイトの実行速度がますます遅くなることに気付きました。サーバーで 8 GB の Apache ログ (Debian 6 サーバーで Play!Framework Web アプリケーションを実行しています) と帯域幅が完全に過負荷になっていることを発見しました。これは、1 日に数回のビューしかない小規模な個人 Web サイトにとってはまったく正気ではありませんでした。
調査していくつかの情報を収集した後、私は自分の間違いを発見しました.Apacheの設定で、「ProxyRequests On」という行のコメントを外していたので、私のサーバーは世界中の誰にとっても無料のプロキシとして自由に使用されていました. 残念だ。
少なくともその間、ファイアウォールを調整して同時接続を制限し、Apache2 用に mod_qos をインストールしました。
それでも、優れた無料のプロキシのようにリクエストを宛先にリダイレクトする代わりに、ドメインが何であれ、すべての着信リクエストが私の Web アプリケーションにリダイレクトされます。たとえば、誰かが私のサーバーを使用して、yahoo で「若い裸の子供」を検索するためのプロキシがまだ機能していると考えている場合、彼は私の 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>