it-swarm-ja.com

HAProxy 2.0.5:HTTPリターンコード503のHTXでメッセージを変換できません

HAProxyを初めて使用するので、ご不便をおかけして申し訳ありません。現在、問題は1つありますが、このツールを初めて使用するため、修正方法がわかりません。

HAProxyバージョン1.8.8を使用していましたが、バージョン2.0.5にアップグレードして/etc/haproxy/haproxy.cfg HAProxyバージョン1.8.8で正しく機能していたものは、HAProxyの新しいバージョン2.0.5では機能しなくなりました。ログから/var/log/haproxy.logこのエラーメッセージが表示されました

Aug 30 19:59:21 haproxy2002 haproxy[2726]: [ALERT] 241/195921 (2726) : config: frontend 'http': Unable to convert message in HTX for HTTP return code 503.
Aug 30 19:59:21 haproxy2002 haproxy[2726]: [ALERT] 241/195921 (2726) : config: backend 'video-upload': Unable to convert message in HTX for HTTP return code 503.
Aug 30 19:59:21 haproxy2002 haproxy[2726]: [ALERT] 241/195921 (2726) : config: backend 'video-upload-merchant': Unable to convert message in HTX for HTTP return code 503.
Aug 30 19:59:21 haproxy2002 haproxy[2726]: [ALERT] 241/195921 (2726) : config: backend 'video-upload-premium': Unable to convert message in HTX for HTTP return code 503.
Aug 30 19:59:21 haproxy2002 haproxy[2726]: [ALERT] 241/195921 (2726) : config: backend 'contents-upload': Unable to convert message in HTX for HTTP return code 503.
Aug 30 19:59:21 haproxy2002 haproxy[2726]: [ALERT] 241/195921 (2726) : config: proxy 'stats': Unable to convert message in HTX for HTTP return code 503.
Aug 30 19:59:21 haproxy2002 haproxy[2726]: [ALERT] 241/195921 (2726) : config: proxy 'stats2': Unable to convert message in HTX for HTTP return code 503.
Aug 30 19:59:21 haproxy2002 haproxy[2726]: [ALERT] 241/195921 (2726) : config: proxy 'stats3': Unable to convert message in HTX for HTTP return code 503.
Aug 30 19:59:21 haproxy2002 haproxy[2726]: [ALERT] 241/195921 (2726) : config: proxy 'stats4': Unable to convert message in HTX for HTTP return code 503.
Aug 30 19:59:21 haproxy2002 haproxy[2726]: [ALERT] 241/195921 (2726) : Fatal errors found in configuration.

親切に助けてください

1
Naseath Saly

エラーの原因がerrorfileディレクティブであると想定します。

errorfile 500 /etc/haproxy/errors/500.http
errorfile 503 /etc/haproxy/errors/503.http

同じ問題が発生しました。これは、.httpファイルにHTTPヘッダーがなく、htmlだけが含まれていたためです。

ファイルの先頭にヘッダーを追加する必要がありました

HTTP/1.1 500 Internal Error
Cache-Control: no-cache
Connection: close
Content-Type: text/plain
Retry-After: 60
<blank line>
<rest of file content>

お役に立てれば。

ここにいくつかの例: https://github.com/ingshtrom/haproxy-htx-conversion-issue (作者へのクレジット)。元のソース: https://discourse.haproxy.org/t/is-this-a-bug-unable-to-convert-message-in-htx/4304

0
Costel L

HTTPヘッダー(ヘッダーと本文の間の空白行を含む)の要件に加えて、ファイル内のBOM(バイトオーダーマーク)によってつまずく可能性があります。

ファイルをUTF-8として保存すると、最初にBOMが含まれる場合があります(エディターとオプションによって異なります)が、HAProxyはこれを好みません。

解決策は、BOMなしでUTF-8として保存することです(たとえば、EditPlusなどのエディターでこれを行うか、Linuxのpicoで新しく書き込むことができます)。