我在 Ubuntu 14.04 上設定了 HAProxy 節點版本 1.5.3。 Ubuntu 伺服器有 1 張網路卡。網路卡有一個 IPv6 位址和一個 IPv4 位址。 IPv6 在連接埠 80 上偵聽傳入的網路連線。 Web 伺服器安裝在具有 IPv4 位址的相同 VLAN 中的單獨 Windows IIS 電腦上。沒有防火牆。我可以從互聯網上透過連接埠 80 連接到 IPV6 位址,這很好。 HAProxy 統計資料顯示後端 Web 伺服器正常,但我仍然無法透過 HAPRoxy 瀏覽 IPv4 伺服器上的網站。當我打開網頁瀏覽器時,IE 中出現錯誤:「HTTP 400 錯誤請求」我重新安裝了 Ubuntu,但沒有幫助。我對此很抓狂。請有人幫忙。
這是我的配置:
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
# Default SSL material locations
ca-base /etc/ssl/certs
crt-base /etc/ssl/private
# Default ciphers to use on SSL-enabled listening sockets.
# For more information, see ciphers(1SSL).
# ssl-default-bind-ciphers kEECDH+aRSA+AES:kRSA+AES:+AES256:RC4-SHA:!kEDH:!LOW:!EXP:!MD5:!aNULL:!eNULL
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http
frontend localnodes
bind 0::0:80
mode http
default_backend nodes
backend nodes
mode http
balance roundrobin
# option forwardfor
# http-request set-header X-Forwarded-Port %[dst_port]
# http-request add-header X-Forwarded-Proto https if { ssl_fc }
# option httpchk HEAD / HTTP/1.1\r\nHost:localhost
server web01 192.168.40.100:80 check
listen stats *:1936
stats enable
stats uri /
stats hide-version
stats auth someuser:password
答案1
儘管這是一個超級古老的話題。但也許人們最終會來到這裡。
現在我正在運行 ha proxy 1.8.* 的實例。但今天大多數人可能會使用 1.8 或更高版本。
要讓 ipv6 正常運作,請將您的前端綁定到:
bind :80 v4v6
bind :::80 v6only
您也可以使用:
bind :::80 v4v6
但在最後一種情況下,連接到它的客戶端的「轉送」IP 將是 ::ffff:123.123.123.123 而不是 123.123.123.123