【问题标题】:How to setup a reverse proxy on several ports (tcp & udp)如何在多个端口上设置反向代理(tcp & udp)
【发布时间】:2015-12-13 16:14:01
【问题描述】:

我已经为网站设置了反向代理,现在我想用下面所述的端口代理我的游戏服务器,但我真的找不到任何地方如何执行此操作。有人有想法吗? 如果可能的话,我想在 apache 上这样做。我在 ubuntu 上运行。

RDP

TCP 端口:3389

MSSQL

TCP 端口:1143

团队发言

UDP 端口:9987 TCP 端口:9987 TCP 端口:10011 TCP 端口:30033

登录服务器

TCP 端口:15001 TCP 端口:15100

游戏服务器

TCP 端口:15221

FTP

21

【问题讨论】:

  • 您在寻找什么:正向代理(Nginx 不是为它设计的)或 TCP 反向代理(流模块)?也许您只需要端口转发?

标签: apache nginx proxy reverse ports


【解决方案1】:

Apache 不是代理 TCP 连接的理想工具。 Nginx plus can do it 但它不是免费的

您需要的是像 squid 这样的代理服务器,它有很好的文档记录。

您也可以在没有额外软件的情况下执行此操作,只需按照here 的说明使用 IP 表。

iptables -t nat -A PREROUTING -p tcp --dport 1111 -j DNAT --to-destination ip:port
iptables -t nat -A PREROUTING -p tcp --dport 1112 -j DNAT --to-destination ip:port
iptables -t nat -A PREROUTING -p tcp --dport 1113 -j DNAT --to-destination ip:port
iptables -t nat -A POSTROUTING -j MASQUERADE

【讨论】:

  • Stream 模块不是 Plus 独有的功能,它也有开源版本:nginx.org/en/docs/stream/ngx_stream_core_module.html
  • 我只是想补充一点,除了这里介绍的iptables规则,你可能还需要开启IP转发。要检查是否启用了 IP 转发,请运行 sysctl net.ipv4.ip_forward,如果禁用则返回 0,如果启用则返回 1。您可以使用sudo sysctl -w net.ipv4.ip_forward=1 启用它,如果您希望它在重新启动后保持不变,您可以编辑 /etc/sysctl.conf。请参阅fabianlee.org/2018/09/17/… 了解更多信息。
猜你喜欢
  • 1970-01-01
  • 2017-05-14
  • 2017-02-07
  • 1970-01-01
  • 2018-12-29
  • 1970-01-01
  • 1970-01-01
  • 2017-11-06
  • 1970-01-01
相关资源
最近更新 更多