如何在 Windows Server 2008 R2 中创建域 mysql1.domain.com,并设置服务器以在有人在其应用程序中使用该域时在端口 3306 上连接本地 MySQL 服务器?那么,如果我希望只有同一网络中的用户(通过 VPN 连接)才能通过输入 mysql2.domain.com 来访问另一个 MySQL 服务器,该怎么办?
答案1
每个支持网络的服务都需要一个端口。即使 HTTP/HTTPS 也需要,但浏览器通常会隐藏 :80 和 :443,以免用户看到它们,因为它们很方便。但这并不能改变它们仍在使用的事实。您不能让像 MySQL 这样的支持网络的服务不使用端口。
我认为您可能感到困惑,因为您无需指定端口即可解析网站。实际上,您确实指定了端口,但您的浏览器会根据需要附加 :80 或 :443。如果您有一个所有流量都进入的默认端口,您可以在中间放置一个反向代理,并将流量重定向到与该端口不同的端口,但没有原生的方式可以简单地说“嗯,我不想使用互联网上的端口。”这只是 TCP/IP 的工作方式。
编辑:在您的误导性评论(已被管理员删除)中,您说了这样的话:
我想将 exa.mp.le:80 上的流量路由到另一个端口。
这和你原来的问题完全不同,但是是可以回答的。
在 Windows 上,没有本机工具可以执行此操作。您需要在 exa.mp.le 和客户端之间放置一个反向代理。然后,在该代理上设置一条规则,将该流量转发到您选择的其他端口(iptables 和 pf 可以执行此操作,mod_proxy 和许多其他模块也可以执行此操作)。
如果服务器运行的是 Linux,则只需使用简单的 iptables 规则即可。不幸的是,尽管 2008 和 2008 R2 有所改善,但 Windows 防火墙仍未达到与 iptables 相当的功能。