我在给定 IP 上的特定端口上运行一项服务:12.34.56.78:12345
。此 IP 地址上的服务器全都属于我(但不是网络,因此无需调整交换机/路由器),而且我还有一堆可以使用的域和 DNS 服务器。
有没有办法为这个地址建立一个“快捷方式” IP:port
,让用户更容易记住?IP
问题不在于部分(我可以使用域名代替),而在于端口。
理想情况下,像映射这样的东西service.mydomain.com => 12.34.56.78:12345
会很完美,但据我所知这是不可能的。
编辑:因为这似乎不清楚,我的问题不是针对 HTTP 流量,而是针对TeamSpeak 服务器12.34.56.78:12345
。因此,用户在设置时需要输入他们的客户端,我想知道是否有办法让这一切变得更容易。
答案1
您是否可以在某个地方运行一个“书签”网页,其中包含一个可点击的链接,并在锚标记中包含完整的主机名/端口,即:<a href="protocol://hostname:port">My link</a>
让用户更方便?这仅在浏览器或操作系统外壳具有该 URI 协议的处理程序时才有效。(网上有关于如何在 Windows Shell 中创建协议处理程序的说明)
标记
答案2
您可以使用 apache 的 mod_proxy 透明地代理从“标准”端口 80 URL 到监听 :12345 的应用程序的流量。
答案3
在使用主机名而不是 URL 的协议环境中,您的“不可能”假设是正确的。
主机名只是名称到 IP 地址的映射。主机名中不传达任何应用层信息(TCP 端口等)。您将“协议://主机名:端口”的 URL 语法与非基于 URL 的协议使用的主机名混为一谈。
SRV 记录旨在解决此类问题,但很少有协议使用 SRV RR 来解析协议端点。(这真的很遗憾……)
在 HTTP 协议的上下文中,您可以使用基于名称的虚拟主机来执行您正在谈论的操作,但是无论如何您的“端口 12345”都不需要,因为基于名称的虚拟主机存在的目的是允许您在单个 IP 地址和 TCP 端口(通常是众所周知的 HTTP 端口 80)上运行多个 Web 服务器实例。
答案4
当您说快捷方式时,您是否想要一个简单的桌面快捷方式,指向在 Web 浏览器中打开的 IP 地址?试试这个,我在笔记本电脑上创建了一个快捷方式到 192.168.1.1(常见的默认路由器地址),只需在其中添加 http 即可(http://192.168.1.1)
如果您希望它在 Windows 文件资源管理器中打开,请尝试以下操作:\\12.34.56.78:12345
其中 xxx 是服务器的地址。