haproxy+openresty实现反向代理和ip透传

Posted 家里没有醋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了haproxy+openresty实现反向代理和ip透传相关的知识,希望对你有一定的参考价值。

一、场景

两个不同的网络中,通过haproxy反向代理到后端网络nginx上,openresty转发流量到后端业务。需要后端业务的src ip、src port为真实用户ip、port。

我这里使用4台centos虚拟机实现,分别替代访问客户、haproxy节点、openresty节点、后端业务。

数据流:用户--->haproxy节点--->openresty节点--->后端业务。

二、haproxy部署配置

1、haproxy部署

采用docker容器部署haproxy,命令如下:

docker run -d --network=host --name haproxy -v /root/haproxy:/usr/local/etc/haproxy:ro haproxy:1.9.7

--network=host,-v为指定host模式和配置文件挂载,根据自己爱好可要可不要。

2、haproxy配置

#----------------# Global settings#----------------global log 127.0.0.1 local0 info maxconn 4000 daemondefaults mode tcp log global option tcplog option dontlognull #option http-server-close option redispatch retries 3 timeout http-request 10s timeout queue 1m timeout connect 10s timeout client 1m timeout server 1m timeout http-keep-alive 10s timeout check 10s maxconn 500
listen mysql_proxy bind 0.0.0.0:3307 mode tcp option tcplog #option forwardfor source 0.0.0.0 usesrc clientip server db 192.168.1.1:3306 check inter 2000 rise 2 fall 5 weight 1


三、openresty部署配置


以上是关于haproxy+openresty实现反向代理和ip透传的主要内容,如果未能解决你的问题,请参考以下文章

haproxy反向代理功能配置

Linux 反向代理之HAproxy

反向代理之HAProxy的简单应用

HAPROXY实战案例:https反向代理的实现TCP四层反向代理MariaDB及自定义错误页面

haproxy 作为反向代理被攻击

分别使用Nginx反向代理和Haproxy调度器实现web服务器负载均衡