現在、1.5dev-17を使用してHAProxyを再構成しています。特定のリクエストに使用するバックエンドがない場合、404エラーを返します。
現在の設定ではdefault_backendを使用してdjangoアプリサーバーにルーティングしますが、他の設定されたバックエンドのいずれにも一致しない(ペンテストなどの)プローブリクエストが大量にある場合、djangoサーバーは試行時に停止しますこれらの無効なリクエストを処理し、最終的に404を返します。
djangoバックエンドに委任するのではなく、HAProxyから404を提供したいと思います。私は現在、ハックでこれを達成しています:
frontend www
...
default_backend nomatch
backend nomatch
errorfile 503 /var/www/http/404.http
そして、404.httpファイル内で、ヘッダーに404ステータスコードを設定します。これは機能しますが、非常に間違っています。HAProxyでこれを達成するより良い方法はありますか?または、通常のバックエンドを使用して、そのハンドルに404で応答させるだけですか?
404.httpファイルの内容は何ですか?
—
ジェイソンフロイド14
@JasonFloydの
—
ジョシュスミートン14
HTTP/1.0 404 Not Found
後に、他のヘッダー、空白行、<html>
コンテンツが続きます。