2017-06-15 5 views
0

こんにちは私は、SNIに基づいてTCPパススルーを使用して実装しようとしています。これは、SSLのために動作しますが、それは80TCPパススルーが80ポートで動作しない

設定のために働いていないことは以下の通りです:

global 
log   127.0.0.1 local2 
chroot  /var/lib/haproxy 
pidfile  /var/run/haproxy.pid 
maxconn  4000 
user  haproxy 
group  haproxy 
daemon 
stats socket /var/lib/haproxy/stats 
defaults 
timeout client 30s 
timeout server 30s 
timeout connect 5s 

frontend https 
bind *:443 
mode tcp 
tcp-request inspect-delay 5s 
tcp-request content accept if { req_ssl_hello_type 1 } 
acl mytonicssl req_ssl_sni -i staging.mytonic.com 
use_backend mytonic-ssl if mytonicssl 


backend mytonic-ssl 
mode tcp 
balance roundrobin 
stick-table type binary len 32 size 30k expire 30m 
acl clienthello req_ssl_hello_type 1 
acl serverhello rep_ssl_hello_type 2 
tcp-request inspect-delay 5s 
tcp-request content accept if clienthello 
tcp-response content accept if serverhello 
stick on payload_lv(43,1) if clienthello 
stick store-response payload_lv(43,1) if serverhello 
option ssl-hello-chk 
server server1 10.10.17.222:8443 check 

frontend http 
bind *:80 
mode tcp 
acl mytonic_http hdr_dom(host) -i staging.mytonic.com 
use_backend mytonic_nonssl if mytonic_http 


backend mytonic_nonssl 
mode tcp 
balance roundrobin 
server server1 10.10.17.222:8080 check 

私は、デフォルトのバックエンドを追加した場合、それは動作します。しかし、これは仮想ホストの解決策ではありません。私のhaproxyバージョンです:HA - Proxyバージョン1.5.18 2016/05/10任意の助けが感謝しています。

答えて

1

SNIは、ターゲットホスト名を含むTLS拡張です。 TLS拡張機能なので、SSL/TLSトラフィックでのみ使用できます。プレーンHTTP(SSL/TLSなし)を使用したマッチングメカニズムは、HTTPホストヘッダーです。しかし、このヘッダに基づいてバランスを取るためには、モードhttp(デフォルト)を使用し、モードtcpではなく使用する必要があります。他を見るHow to divert traffic based on hostname using HAProxy?

関連する問題