我想知道我是否可以强制将进入我 Web 服务器特定端口的客户端重定向到不同的 IP。具体来说,我试图让所有 Web(80) 流量转到 domain.com 上的服务器 1,而每个连接到同一域路由 IP 的端口 27015、55565、21、22 等的客户端都被转发到未连接网络上的不同服务器。如果需要,我同意这种反向工作方式,即在游戏盒上运行的 Apache 服务器转发到网站主机。有什么想法吗?
答案1
好吧,端口 21 应该是 FTP 不安全端口。不确定您是否在“游戏盒”上运行该端口。如果您使用 Apache 作为外部服务器并尝试将其映射到其他服务器和端口,最好的办法是使用 apache mod_proxy 和 mod 反向代理。以下是示例配置:
#Port Re-mapping:
#Subsonic runs on 11011 at the moment.
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /music http://127.0.0.1:11011/
ProxyPassReverse /music http://127.0.0.1:11011/
<Location /music>
Allow from all
</Location>
只需确保从配置的 apache 模块部分取消注释 mod_proxy 及其反向。并将 127.0.0.1:port 更改为“游戏盒”的端口和本地 IP
至于端口问题,所有这些请求都在 apache 服务器的外部 IP/端口上提供服务。如果您尝试提供非 HTTP 请求(真正的游戏服务器),那么最好使用 NAT 或 DNS 负载平衡器,并且客户端应连接到默认端口。(示例:连接到 mc.domain.com 上的 minecraft 服务器,未指定端口,假定端口为 25565。Http 流量假定端口为 80,ssl 为 443,等等。)