2012-11-10 21 views
8

burada benim yapılandırma dosyasıdırHAProxy Solr Healthcheck

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 

sorun benim Solr sunucu temel http şifre kimlik doğrulaması kullanarak korumalı ve dolayısıyla sağlık kontrolü i HAProxy anlatmak nasıl hep

başarısız olmasıdır Sağlık kontrolleri sırasında bu bilgileri kullanmak için?

cevap

12

Biraz geç ama aynı problemle karşılaştım ve çözümü dünyayla paylaşmak istedim. Öncelikle, kimlik bilgilerini base64-kodlamak:

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

(Eğer bir yeni satır ekleme kalmamak -n seçeneğini kullanırsanız emin olun.)

option httpchk size keyfi HTTP başlıklarını eklemenizi sağlar istek; Bu özellik çok iyi belgelenmiyor. (HAProxy ait this discussion, gelecek sürümlerine göre daha kullanıcı dostu bir yöntem alabilirsiniz.) Temel kimlik doğrulamasını kullanmak için: Ben HTTP 1.0 kullanılan

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

Not; 1.1 için bir Ana bilgisayar üstbilgisine de ihtiyacınız var.

+0

mükemmel çalışır. Asla geç olmamasından daha iyidir :) –

+0

Üç yıldan daha uzun bir süre sonra, bu hala yararlıdır. Teşekkürler! +1 –