无法使用 TCP 模式访问 WebEx 桌面应用程序

无法使用 TCP 模式访问 WebEx 桌面应用程序

我正在运行 haproxy 2.4,当 haproxy 配置为 http 模式时,我无法访问 webex 桌面应用程序,显示正在连接但转到登录页面,返回“选择 webex 网站”。

切换到tcp模式,一切正常。

此外,这个问题在 haproxy 2.5 上仍然存在

HTTP模式配置文件:

#  1,5
# CPU(s) 11
global
    log 127.0.0.1 local0
    maxconn 200000
    nbproc           11
    cpu-map           1 0
    cpu-map           2 1
    cpu-map           3 2
    cpu-map           4 3
    cpu-map           5 4
    cpu-map           6 5
    cpu-map           7 6
    cpu-map           8 7
    cpu-map           9 8
    cpu-map           10 9
    cpu-map           11 10
    uid 0
    gid 0
    chroot  /tmp
    pidfile /var/run/haproxy.pid
    stats socket /var/run/haproxy.stat mode 600 level admin
    stats bind-process 1
    daemon
#   debug
#   quiet

defaults
    log global
    log-format  HASTATS:::%{+Q}o:::client_ip=%ci:::client_port=%cp:::datetime_of_request=[%tr]:::frontend_name_transport=%ft:::backend_name=%b:::server_name=%s:::time_to_receive_full_request=%TR:::Tw=%Tw:::Tc=%Tc:::response_time=%Tr:::active_time_of_request=%Ta:::status_code=%ST:::bytes_read=%B:::captured_request_cookie=%CC:::captured_response_cookie=%CS:::termination_state_with_cookie_status=%tsc:::actconn=%ac:::feconn=%fc:::beconn=%bc:::srv_conn=%sc:::retries=%rc:::srv_queue=%sq:::backend_queue=%bq:::captured_request_headers_default_style=%hr:::captured_response_headers_default_style=%hs:::server_ip=%si:::server_port=%sp:::frontend_name=%f:::http_method=%HM:::http_request_uri_without_query=%HP:::http_request_query_string=%HQ:::http_request_uri=%HU:::bytes_uploaded=%U:::ssl_ciphers=%sslc:::ssl_version=%sslv:::%[capture.res.hdr(0)]
    mode    http
    option  dontlognull
    retries 3
    option  redispatch
    maxconn 200000
    timeout connect 5000
    timeout client  50000
    timeout server  50000

frontend ddsds
    bind    :3128 name ddsds
    capture request header Host len 1024
    capture request header Content-Type len 1024
    capture request header User-Agent len 1024
    capture request header Referer len 1024
    capture request header X-Forwarded-For len 1024
    capture response header Content-Type len 1024
    capture cookie Cookie_2 len 100
    http-request set-header mode mode:tcp
    http-request capture hdr(mode)  len 10
    mode http
    option  httplog
#   http-keep-alive: * 1 *
    option http-keep-alive
    timeout http-keep-alive 15000
    option prefer-last-server
    option redispatch
    no option httpclose
    option http-tunnel
    timeout client  15000
    timeout http-request    50000
    timeout queue   50000

    default_backend default_ddsds

backend default_ddsds
    mode http
    balance leastconn
#   http-keep-alive: * 1 *
    option http-keep-alive
    timeout http-keep-alive 15000
    option prefer-last-server
    option redispatch
    no option httpclose
    option http-tunnel
    timeout connect 4000
    timeout server  50000
    timeout http-request    50000
    timeout queue   50000
    retries 3

    server normal_port 192.168.58.12:50877 weight 1 maxconn 10000 check inter 60000 rise 2 fall 3 source 192.168.58.13

# ddsds no result
frontend admin_page
    bind    127.0.0.1:64741
    mode http
    stats enable
    stats refresh 10s
    stats uri /stats

TCP模式下的配置文件:

#  1,5
# CPU(s) 11
global
    log 127.0.0.1 local0
    maxconn 200000
    nbproc           11
    cpu-map           1 0
    cpu-map           2 1
    cpu-map           3 2
    cpu-map           4 3
    cpu-map           5 4
    cpu-map           6 5
    cpu-map           7 6
    cpu-map           8 7
    cpu-map           9 8
    cpu-map           10 9
    cpu-map           11 10
    uid 0
    gid 0
    chroot  /tmp
    pidfile /var/run/haproxy.pid
    stats socket /var/run/haproxy.stat mode 600 level admin
    stats bind-process 1
    daemon
#   debug
#   quiet

defaults
    log global
    log-format  HASTATS:::%{+Q}o:::client_ip=%ci:::client_port=%cp:::datetime_of_request=[%tr]:::frontend_name_transport=%ft:::backend_name=%b:::server_name=%s:::time_to_receive_full_request=%TR:::Tw=%Tw:::Tc=%Tc:::response_time=%Tr:::active_time_of_request=%Ta:::status_code=%ST:::bytes_read=%B:::captured_request_cookie=%CC:::captured_response_cookie=%CS:::termination_state_with_cookie_status=%tsc:::actconn=%ac:::feconn=%fc:::beconn=%bc:::srv_conn=%sc:::retries=%rc:::srv_queue=%sq:::backend_queue=%bq:::captured_request_headers_default_style=%hr:::captured_response_headers_default_style=%hs:::server_ip=%si:::server_port=%sp:::frontend_name=%f:::http_method=%HM:::http_request_uri_without_query=%HP:::http_request_query_string=%HQ:::http_request_uri=%HU:::bytes_uploaded=%U:::ssl_ciphers=%sslc:::ssl_version=%sslv:::%[capture.res.hdr(0)]
    mode    http
    option  dontlognull
    retries 3
    option  redispatch
    maxconn 200000
    timeout connect 5000
    timeout client  50000
    timeout server  50000

frontend ddsds
    bind    :3128 name ddsds
    capture request header Host len 1024
    capture request header Content-Type len 1024
    capture request header User-Agent len 1024
    capture request header Referer len 1024
    capture request header X-Forwarded-For len 1024
    capture response header Content-Type len 1024
    capture cookie Cookie_2 len 100
    http-request set-header mode mode:tcp
    http-request capture hdr(mode)  len 10
    mode tcp
    option  httplog
    option  dontlognull
    option http-tunnel
    timeout client  15000
    timeout http-request    50000
    timeout queue   50000

    default_backend default_ddsds

backend default_ddsds
    mode tcp
    balance leastconn
    option http-tunnel
    timeout connect 4000
    timeout server  50000
    timeout http-request    50000
    timeout queue   50000
    retries 3

    server normal_port 192.168.58.12:50877 weight 1 maxconn 10000 check inter 60000 rise 2 fall 3 source 192.168.58.13

# ddsds no result
frontend admin_page
    bind    127.0.0.1:64741
    mode http
    stats enable
    stats refresh 10s
    stats uri /stats

任何人都可以帮我解决这个问题。

提前致谢。

答案1

通过在前端使用选项 accept-invalid-http-request 进行修复。

相关内容