11

これが私の設定ファイルです

listen  solr 0.0.0.0:8983
mode http
balance roundrobin
option httpchk GET "/solr/select/?q=id:1234" HTTP/1.1
server solr_slave 1.1.1.1:8983 maxconn 5000 weight 256 check
server solr_master 2.2.2.2:8983 maxconn 5000 weight 1 check

問題は、私のsolrサーバーが基本的なhttpパスワード認証を使用して保護されているため、ヘルスチェックが常に失敗することです。

ヘルスチェック中にこれらのクレデンシャルを使用するようにhaproxyに指示するにはどうすればよいですか?

4

1 に答える 1

19

少し遅れましたが、同じ問題に遭遇し、解決策を世界と共有したいと思いました。まず、クレデンシャルをbase64でエンコードします。

$ echo -n "user:pass" | base64
dXNlcjpwYXNz

(改行を追加しないように、必ず-nスイッチを使用してください。)

を使用option httpchkすると、リクエストに任意のHTTPヘッダーを追加できます。この機能は十分に文書化されていません。(この説明によると、Haproxyの将来のバージョンでは、よりユーザーフレンドリーな方法が利用できる可能性があります。)基本認証を使用するには:

option httpchk GET /solr/ HTTP/1.0\r\nAuthorization:\ Basic\ dXNlcjpwYXNz

HTTP1.0を使用したことに注意してください。1.1の場合、Hostヘッダーも必要です。

于 2013-02-28T22:02:51.600 に答える