Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HAProxy:将客户端ip(ssl通信)转发到后端_Ssl_Haproxy - Fatal编程技术网

HAProxy:将客户端ip(ssl通信)转发到后端

HAProxy:将客户端ip(ssl通信)转发到后端,ssl,haproxy,Ssl,Haproxy,如果我将SSL通信发送到后端服务器,我可以在应用程序日志中看到客户端/源IP ssl://host_name:8883 问题:如果我将haproxy放在后端服务器之前,我将得到haproxy IP作为源IP。SSL终止发生在后端服务器上 haproxy.cfg: defaults maxconn 64000 option http-server-close option httplog option forwardfor option contstats

如果我将SSL通信发送到后端服务器,我可以在应用程序日志中看到客户端/源IP

ssl://host_name:8883
问题:如果我将haproxy放在后端服务器之前,我将得到haproxy IP作为源IP。SSL终止发生在后端服务器上

haproxy.cfg:

defaults
    maxconn 64000
    option http-server-close
    option httplog
    option forwardfor
    option contstats
    timeout connect         5000ms
    timeout client          30000ms
    timeout server          30000ms
    timeout tunnel          3600000ms
    timeout http-keep-alive 1000ms
    timeout http-request    30000ms
    timeout queue           30000ms
    errorfile 504 /var/504.http

frontend tcp-frontend-mqtt-tls
    mode tcp
    bind :8883 accept-proxy
    log global
    log-format %ci\ %fi:%fp\ [%t]\ %ft\ %b/%s\ %Tw/%Tc/%Tt\ %B\ %ac/%fc/%bc/%sc/%rc\ %sq/%bq
    tcp-request connection reject if { src -f /var/ip_blist.lst }
    default_backend tcp-backend-mqtt-tls

backend tcp-backend-mqtt-tls
    mode tcp
    log global
    balance leastconn
    source 0.0.0.0 usesrc clientip
    server mqtt-node-0 hostname:61008 resolvers my-dns check inter 1000
我已尝试添加
send-proxyv-v2
send-proxy

server mqtt-node-0 hostname:61008 resolvers my-dns check inter 1000 send-proxy-v2
server mqtt-node-0 hostname:61008 resolvers my-dns check inter 1000 send-proxy

但这并没有帮助,因为SSL终止发生在后端。我遗漏了什么吗?

发送代理是一种很好的方法,但是您的后端服务器/应用程序需要能够解析代理协议以接收IP信息