代理协议支持

代理协议支持

为Fabric服务器提供Proxy Protocol支持

基础库

代理协议支持

代理协议支持是一个 Fabric 和 Quilt 模组,为你的 Minecraft 服务器添加对 代理协议 (HAProxy) 的支持。它允许同时接受代理连接和直连连接。

例如,你可以使用 TCPShield 或其他软件(Nginx、FRP)来转发流量,并隐藏你服务器的 IP 地址。如果没有代理协议,你的控制台只会显示代理的 IP 地址。通过读取代理协议数据包,该模组使得显示玩家的真实 IP 地址成为可能。

这是一个仅服务端模组;安装在客户端时不会产生任何作用。

支持 Minecraft 版本 1.14-26.1,以及可能更新的版本(未经测试)。


安全混合模式

该模组允许你的 Minecraft 服务器同时接受来自受信任代理(使用代理协议)和受信任的直连 IP 的连接。这对于你想要将服务器 IP 隐藏在代理之后,同时仍允许管理员或本地玩家直接连接的环境非常理想。

该模组基于安全的**“默认拒绝”原则运行。如果传入连接的 IP 地址未明确列入以下某个白名单中,它将被拒绝**。这可以防止未经授权的用户绕过你的代理并直接连接到服务器的真实 IP 地址。


配置

配置在 config/proxy_protocol_support.json 中处理。

enableProxyProtocol

设置为 true 以启用模组功能。

  • 默认值:true

proxyServerIPs

你受信任的代理服务器的 IP 地址列表。来自这些 IP 的连接必须发送代理协议头。

  • 默认值:["127.0.0.1"]

directAccessIPs

允许不带代理协议头直接连接的 IP 或 CIDR 范围列表。这非常适合管理员、本地网络玩家和服务端工具使用。

  • 默认值:["127.0.0.1", "192.168.0.0/16"]

whitelistTCPShieldServers

当为 true 时,该模组会自动获取 TCPShield 的官方代理 IP,并将其添加到受信任的 proxyServerIPs 列表中。

  • 默认值:false

示例场景

场景 1:服务器位于同一台机器上的 FRP 之后

你在与 Minecraft 服务器相同的机器上运行 frpc。来自互联网的玩家通过代理连接。你希望从同一局域网 (192.168.1.100) 上的游戏电脑直接连接。

proxyServerIPs = ["127.0.0.1"]
directAccessIPs = ["127.0.0.1", "192.168.1.100"]

场景 2:服务器受远程代理服务保护

你的服务器在家中,你使用 IP 为 203.0.113.10 的 VPS 作为代理。你希望整个家庭网络 (192.168.0.0/24) 都能直接访问。

proxyServerIPs = ["203.0.113.10"]
directAccessIPs = ["127.0.0.1", "192.168.0.0/24"]

场景 3:最高安全性(仅限代理)

你只希望允许通过你的代理进行连接,不允许其他任何方式(即使是本地机器)。

proxyServerIPs = ["1.2.3.4", "5.6.7.8"] # 你的代理 IP
directAccessIPs = [] # 留空

正在寻找 Minecraft 服务器?访问 BedrockHost.pl