DNS可以指向特定端口吗?


14

我在某台服务器上安装了虚拟机,而我的URL就是这样。

111.11.11.111:8002

我可以获取指向特定端口的DNS吗?

还有一件事。如果无法这样做,服务器上的虚拟机可以成为该服务器DNS的子域吗?

Answers:


18

DNS没有用于HTTP,HTTPS和SSL等旧协议的端口的概念。DNS仅指向IP地址。

用于特定服务的连接端口由约定确定。例如,HTTP的默认端口为80,HTTPS的默认端口为443,SSH的默认端口为22。

覆盖默认端口的唯一方法是在URL中指定它(或在SSH等命令行中指定它)。无法在DNS中指定端口号。如果您正在运行网站,则如果您不想在URL中使用丑陋的端口号,则服务器必须在端口80上响应HTTP请求。


我不清楚您要完成什么。

如果要在同一服务器上运行多个站点,通常是可以的。您可以在同一服务器中运行来自不同域或不同子域的多个站点。您需要配置虚拟主机才能正常工作。

您可能需要运行另一台运行不同技术的服务器(例如,Tomcat用于运行Java或Rails服务器用于运行Ruby)。在这种情况下,通常使用反向代理将附加服务器连接到主服务器,以从URL中删除端口号。

如果您试图在家中托管站点,而您的ISP阻止了端口80,那么您很不走运。您唯一的选择是在URL中找到其他主机或具有端口号。


有一项更新的创新,允许DNS指定端口号:SRV Records。但是,SRV记录仅适用于在其规范中使用SRV查找的新协议。HTTP和HTTPS等较旧的协议将继续使用其当前端口号,并且不支持SRV。


我在某些主机上有虚拟机,该主机的地址为www.something.com,但是我可以获取mypage.something.com吗?该服务器有大约10虚拟机和一个DNS,我们的虚拟机可以子域
伊万Vulović

根据本文,每个虚拟机必须具有自己的IP地址。如果是这种情况,那么可以,您可以通过将IP地址放入DNS A记录中来为虚拟机分配子域。
Stephen Ostermiller

3

PORT设置是托管服务器端设置,与DNS无关。将域或子域指向IP时,托管服务器将通过虚拟主机文件控制端口元素。

因此,换句话说,只需将A记录放入IP地址,然后让虚拟主机文件控制服务器在哪个端口上运行。


1

您正在寻找具有端口转发功能的动态DNS(DDNS),并且大多数DDNS服务提供商也都提供端口转发功能。然后,您可以将您的域名something.something.com设置为111.11.11.111:8002

您可以获得具有DDNS支持的路由器,如果配置正确,则子域将指向您的家庭路由器,从那里您也可以重定向端口。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.