Configurazione proxy inverso HAProxy
Voglio migrare alcuni siti web su un nuovo server. Ci vogliono un paio di giorni per ottenere tutte le modifiche DNS, quindi volevo impostare un proxy inverso HAProxy per reindirizzare tutto il traffico dalla vecchia posizione alla nuova posizione. Non ho molta esperienza con una configurazione del genere. Quando visito un dominio, ricevo un errore che dice:
503 Service Unavailable No server is available to handle this request.
Questa è la configurazione che ho usato (con indirizzo IP nascosto):
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 }
Risposte
Questo errore significa che il backend non è considerato "attivo".
Innanzitutto assicurati che il server di backend sia in esecuzione e accessibile dalla macchina HAProxy, ad esempio telnet x.x.x.x 80
e assicurati che si connetta.
Se riesci a stabilire una connessione con successo, la seconda cosa da controllare è se il backend non ha superato il controllo. Prova a rimuovere option httpchk
e rimuovere check
dalla server
riga. (Quando hai un solo server di backend, un controllo non ha un valore enorme, ma puoi sempre aggiungerlo di nuovo in seguito)
È possibile che tu Host: localhost
stia restituendo qualcosa di insolito nell'assegno.