HAProxy ters proxy yapılandırması
Bazı web sitelerini yeni bir sunucuya taşımak istiyorum. Tüm DNS değişikliklerinin yapılması birkaç gün sürüyor, bu yüzden tüm trafiği eski konumdan yeni konuma yeniden yönlendirmek için bir HAProxy ters proxy kurmak istedim. Böyle bir yapılandırma konusunda pek tecrübeli değilim. Bir alanı ziyaret ederken şunu söyleyen bir hata alıyorum:
503 Service Unavailable No server is available to handle this request.
Bu, kullandığım yapılandırma (gizli IP adresiyle):
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
# turn on stats unix socket
stats socket /var/lib/haproxy/stats
defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
frontend localhost
bind *:80
bind *:443 ssl crt /etc/pki/tls/certs/haproxy.pem
redirect scheme https if !{ ssl_fc }
mode http
default_backend node
backend node
mode http
option forwardfor
option httpchk HEAD / HTTP/1.1\r\nHost:localhost
server dcnode1 x.x.x.x:80 check
http-request set-header X-Forwarded-Port %[dst_port]
http-request add-header X-Forwarded-Proto https if { ssl_fc }
Yanıtlar
Bu hata, arka ucun "yukarı" olarak kabul edilmediği anlamına gelir.
Öncelikle arka uç sunucusunun çalıştığından ve HAProxy makinesinden erişilebilir telnet x.x.x.x 80
olduğundan emin olun , örneğin ve bağlandığından emin olun.
Başarılı bir şekilde bağlantı kurabilirseniz, kontrol edilecek ikinci şey, arka ucun bir kontrolde başarısız olup olmadığıdır. Kaldırmayı deneyin option httpchk
ve kaldırmak check
gelen server
hat. (Yalnızca bir arka uç sunucunuz olduğunda, bir kontrol çok değerli değildir, ancak daha sonra istediğiniz zaman geri ekleyebilirsiniz)
Host: localhost
Çekin içinde olağandışı bir şey iade ediyor olabilirsiniz .