HAProxy IPv6-zu-IPv4-Problem

HAProxy IPv6-zu-IPv4-Problem

Ich habe einen HAProxy-Knoten Version 1.5.3 auf Ubuntu 14.04 eingerichtet. Der Ubuntu-Server hat 1 Netzwerkkarte. Die Netzwerkkarte hat eine IPv6-Adresse und eine IPv4-Adresse. Die IPv6-Adresse lauscht auf Port 80 auf eingehende Internetverbindungen. Der Webserver ist auf einer separaten Windows IIS-Maschine im selben VLAN mit einer IPv4-Adresse installiert. Keine Firewall. Vom Internet aus kann ich über Port 80 eine Verbindung zur IPV6-Adresse herstellen, also ist das gut. Die HAProxy-Statistiken zeigen, dass der Backend-Webserver in Ordnung ist. Aber ich kann die Website auf dem IPv4-Server immer noch nicht über HAPRoxy durchsuchen. Wenn ich meinen Webbrowser öffne, erhalte ich im IE eine Fehlermeldung: „HTTP 400 Bad Request“. Ich habe Ubuntu neu installiert, hat nicht geholfen. Ich reiße mir die Haare aus. Kann mir bitte jemand helfen?

Hier ist meine Konfiguration:

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

Antwort1

Auch wenn das ein super altes Thema ist. Aber vielleicht landen die Leute ja hier.

Im Moment verwende ich eine Instanz von ha-Proxy 1.8.*. Ich weiß, dass es sich um eine Instanz von 1.5.3 handelt. Aber wahrscheinlich werden die meisten Leute heute 1.8 oder höher verwenden.

Damit IPv6 funktioniert, binden Sie Ihr Frontend an:

bind :80 v4v6
bind :::80 v6only

Sie können auch Folgendes verwenden:

bind :::80 v4v6

Aber in diesem letzten Fall wird die "weitergeleitete" IP des Clients, der sich damit verbindet, ::ffff:123.123.123.123 statt 123.123.123.123 sein.

verwandte Informationen