通过修改我的DNS记录,我如何能够;test.mydomain.com“;解析为XXX.XXX.XXX.XXX:8080?

通过修改我的DNS记录,我如何能够;test.mydomain.com“;解析为XXX.XXX.XXX.XXX:8080?,dns,Dns,首先,这是一个编程问题,因为我正在尝试设置一个与生产服务器并行运行的测试/质量保证服务器 其次,是的,我应该在Serverfault上发布这个,但是我尝试使用三个不同的OpenID提供程序登录,每次我都会收到一个错误,说这个提供程序在测试版中不受支持(即使图标就在那里)。要发布问题,您必须登录 呼,好的 目前我有一个记录,@host指向我的服务器IP,比如说111.11.11.11。然后,我有一个CNAME记录,其中www主机从我的a记录指向@ 问题是我有一个不同的web服务器运行在111.11

首先,这是一个编程问题,因为我正在尝试设置一个与生产服务器并行运行的测试/质量保证服务器

其次,是的,我应该在Serverfault上发布这个,但是我尝试使用三个不同的OpenID提供程序登录,每次我都会收到一个错误,说这个提供程序在测试版中不受支持(即使图标就在那里)。要发布问题,您必须登录

呼,好的

目前我有一个记录,@host指向我的服务器IP,比如说111.11.11.11。然后,我有一个CNAME记录,其中www主机从我的a记录指向@

问题是我有一个不同的web服务器运行在111.11.11.11:8080上。我想制作另一个CNAME,以便测试主机指向@:8080之类的东西

总结如下:

www.mydomain.com应解析为111.11.11.11

test.mydomain.com应解析为111.11.11.11:8080


这可能吗?如果是,怎么做?

不,DNS A记录只将主机名解析为ip地址,它对端口号一无所知

但是,您始终可以根据主机头将Web服务器配置为服务不同的页面(因此,使用端口8080使InReseary成为可能)。我可以给你详细信息,但我需要知道你正在使用的Web服务器

编辑:如果您使用的是tomcat,则应添加另一个主机指令,详细信息可在此处找到:

无法在dns配置中定义端口。 这不是它的目的。
这只是关于ip->host和reverse的问题。

不,这是不可能的。DNS控制域指向哪个IP,它与端口无关。您可能可以设置防火墙规则以实现所需功能。

DNS A(地址)记录没有端口号。所以,不,那是不可能的

可以为同一台机器(如111.11.11.12)设置另一个IP,并让test.mydomain.com解析。然后,您的第一台服务器应该只在第一个IP上侦听,第二台服务器只在第二个IP上侦听


另外,DNS SRV记录允许指定端口,但浏览器不使用它们,唉。

DNS只解析为IP地址。但是,如果您已将DNS解析为Apache所在的IP,则可以使用mod_proxy将请求代理到端口8080上的应用程序服务器。请参阅此链接

您可以使用Dyndns.org服务来解决这个问题。
最多5台主机可免费使用。

正如boris所说,这是不可能的

但您可以使用某些服务,如SIP

这涉及到在dns上使用SRV记录。 但我担心普通的网络浏览器会忽略这一点


更多信息请访问:

可以使用Apache虚拟主机。我不知道确切的语法,但我知道rails就是这样工作的。有点像:

 <virtualhost *:8080>
 servername subdomain.domain.com
 serveralias subdomain.domain.com
 DocumentRoot /path/to/public
 </virtualhost>

servername subdomain.domain.com
serveralias subdomain.domain.com
DocumentRoot/path/to/public
重新启动apache。

不可能

但您可以向服务器添加另一个IP。通过这种方式,您可以将服务器绑定到同一台机器上的不同IP地址。DNS当然会指向不同的IP


这是一个很好的解决方案,尤其是当您使用ipv6时。提供商通常会分配一大堆ipv6地址,如/64,因此您可以在每个地址上绑定不同的服务器。:)

属于和team@serverfault.comI我认为否决一个合法的问题是有点站不住脚的,因为它最好放在另一个测试版网站上。很简单,这可以帮助其他程序员尝试做同样的事情。请注意,如果你在StackOverflow上有超过100个代表,你甚至不需要通过电子邮件发送你的openid。我没有投反对票。我刚刚投票决定关闭。杰夫说我们可以将问题从一个网站转移到另一个网站。我希望它最终会被移动。Tomcat6是servlet容器