HAProxy IPv6에서 IPv4로의 문제

HAProxy IPv6에서 IPv4로의 문제

Ubuntu 14.04에 HAProxy 노드 버전 1.5.3을 설정했습니다. Ubuntu 서버에는 1개의 nic이 있습니다. nic에는 IPv6 주소와 IPv4 주소가 있습니다. IPv6은 포트 80에서 들어오는 인터넷 연결을 수신합니다. 웹 서버는 IPv4 주소를 사용하여 동일한 VLAN에 있는 별도의 Windows IIS 시스템에 설치됩니다. 방화벽이 없습니다. 인터넷에서 포트 80을 통해 IPV6 주소에 연결할 수 있으므로 좋습니다. HAProxy 통계에 따르면 백엔드 웹 서버는 정상이지만 여전히 HAPRoxy를 통해 IPv4 서버의 웹 사이트를 탐색할 수 없습니다. 웹 브라우저를 열면 IE에서 오류가 발생합니다: "HTTP 400 Bad Request" 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 프록시 1.8.* 인스턴스를 실행하고 있습니다. 이는 1.5.3 인스턴스에 관한 것으로 알고 있습니다. 그러나 아마도 오늘날 대부분의 사람들은 1.8 이상을 사용할 것입니다.

ipv6 작업을 수행하려면 프런트엔드를 다음과 같이 바인딩하세요.

bind :80 v4v6
bind :::80 v6only

다음을 사용할 수도 있습니다.

bind :::80 v4v6

그러나 이 마지막 경우에 연결하는 클라이언트의 "전달된" IP는 123.123.123.123 대신 ::ffff:123.123.123.123이 됩니다.

관련 정보