首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何逐个配置haproxy端口范围?

如何逐个配置haproxy端口范围?
EN

Stack Overflow用户
提问于 2014-11-07 13:14:16
回答 2查看 14.3K关注 0票数 5

我想使用haproxy来部署一个ftp代理服务器。这是一个场景:

ftp客户端<-> ftp-proxy-server(ip:10.0.1.1) <-> ftp-server(ip:172.126.1.1)

ftp服务器在端口21上侦听控制命令,数据端口范围为20100-20199

我在ftp-proxy-server上有haproxy配置:

代码语言:javascript
复制
listen ftp-proxy-server 10.0.1.1:21
    mode tcp
    server ftp-server 172.126.1.1:21

listen ftp-proxy-server 10.0.1.1:20100-20199
    mode tcp
    server ftp-server 172.126.1.1:20100-20199

问题是,我可以从ftp-client成功登录ftp服务,但无法执行ls命令,该命令会输出“连接被拒绝”的消息。我猜原因是从ftp-proxy-server到ftp-server的端口映射是随机的。因此,当ftp客户端获得保留端口(例如20101)时,但是ftp代理服务器可以将其映射到另一个端口(例如20109),该端口不是分配给ftp客户端的ftp服务器端口。

我在想一种解决方案,配置100个监听,一个监听一个端口,但编写配置文件很复杂。是否有一个简单的配置选项来逐个映射端口?就像10.0.1.1:20001 -> 172.126.1.1:20001,10.0.1.1:20002 -> 172.126.1.1:20002。

欢迎任何回答:)

EN

回答 2

Stack Overflow用户

发布于 2015-10-30 21:18:57

您必须从服务器定义中删除端口范围。haproxy文档显示,来自源的相同端口用于目标。

代码语言:javascript
复制
listen ftp-proxy-server 10.0.1.1:20100-20199
    mode tcp
    server ftp-server 172.126.1.1
票数 8
EN

Stack Overflow用户

发布于 2020-06-04 10:05:38

对于centos上的haproxy 1.5,

代码语言:javascript
复制
listen web *:8080-8090
    mode tcp
    server worker1 10.0.0.1
    server worker2 10.0.0.2

对于debian上的haproxy 1.7,

代码语言:javascript
复制
listen web
    bind *:8080-8090
    mode tcp
    server worker1 10.0.0.1
    server worker2 10.0.0.2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26794547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档