HAProxy IPv6 から IPv4 への問題

HAProxy IPv6 から IPv4 への問題

Ubuntu 14.04 に HAProxy ノード バージョン 1.5.3 をセットアップしました。Ubuntu サーバーには NIC が 1 つあります。NIC には IPv6 アドレスと IPv4 アドレスがあります。IPv6 は、着信インターネット接続をポート 80 でリッスンします。Web サーバーは、IPv4 アドレスを持つ同じ VLAN 内の別の Windows IIS マシンにインストールされています。ファイアウォールはありません。インターネットからは、ポート 80 で IPV6 アドレスに接続できるので問題ありません。HAProxy の統計情報では、バックエンド Web サーバーは正常であると示されていますが、HAPRoxy を介して IPv4 サーバー上の Web サイトを参照することはできません。Web ブラウザーを開くと、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 proxy 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になります。

関連情報