嘟嘟社区

[经验] haproxy确实可以通过7层http特征转发4层TCP,很好


书接上回:https://hostloc.com/thread-893990-1-1.html
原理如下:http://cbonte.github.io/haproxy-dconv/2.5/configuration.html#7.3.6
[经验]  haproxy确实可以通过7层http特征转发4层TCP,很好

代码如下:其实就是简单的把http的mode改成tcp,hdr函数会自动适应。
  1. global
  2.         log /dev/log        local0
  3.         log /dev/log        local1 notice
  4.         chroot /var/lib/haproxy
  5.         stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
  6.         stats timeout 30s
  7.         user haproxy
  8.         group haproxy
  9.         daemon
  10.         
  11.         # Default SSL material locations
  12.         ca-base /etc/ssl/certs
  13.         crt-base /etc/ssl/private
  14.         # See: https://ssl-config.mozilla.org/#server=haproxy&server-version=2.0.3&config=intermediate
  15.         ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
  16.         ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
  17.         ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets
  18. defaults
  19.         log        global
  20.         mode        http
  21.         option        httplog
  22.         option        dontlognull
  23.         timeout connect 50000
  24.         timeout client  50000
  25.         timeout server  50000
  26.         maxconn  50000
  27.         errorfile 400 /etc/haproxy/errors/400.http
  28.         errorfile 403 /etc/haproxy/errors/403.http
  29.         errorfile 408 /etc/haproxy/errors/408.http
  30.         errorfile 500 /etc/haproxy/errors/500.http
  31.         errorfile 502 /etc/haproxy/errors/502.http
  32.         errorfile 503 /etc/haproxy/errors/503.http
  33.         errorfile 504 /etc/haproxy/errors/504.http
  34.         
  35.         
  36. frontend http_frontend
  37.     mode tcp
  38.     option httplog
  39.     bind *:31006
  40.     option forwardfor
  41.     acl host_sjc hdr_dom(host) -i sjc.com
  42.     acl host_tyo hdr_dom(host) -i tyo.com
  43.     use_backend http_sjc if host_sjc
  44.     use_backend http_tyo if host_tyo
  45. backend http_sjc
  46.     mode tcp
  47.     option httplog
  48.     option forwardfor
  49.     server sjc 024.AP.POP.BIGAIRPORT.NET:12356
  50.    
  51. backend http_tyo
  52.     mode tcp
  53.     option httplog
  54.     option forwardfor
  55.     server tyo 034.AP.POP.BIGAIRPORT.NET:12356

复制代码

仍有疑问:
1、这样做是否相对于7层转发更有性能优势?
2、如何进一步优化haproxy的性能?