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

时间:2009-05-16 18:07:32

标签: dns

首先,这是一个编程问题,因为我正在尝试设置一个与生产服务器一起运行的测试/ QA服务器。

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

哇,好的。

目前我有一条 A 记录,其中 @ 主机指向我的服务器IP,假设 111.11.11.11 。然后我的 CNAME 记录与 www 主机指向 A 记录中的 @

问题是我在 111.11.11.11:8080 上运行了不同的Web服务器。我想制作另一个 CNAME ,以便 test 主机指向类似 @:8080

的内容

总结:

www.mydomain.com 应解析为 111.11.11.11

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

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

9 个答案:

答案 0 :(得分:6)

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

可能的是为同一台计算机安装另一台IP(例如111.11.11.12)并让test.mydomain.com解析它。然后你的第一台服务器应该只监听第一个IP,第二个只监听第二个。

P.S。有DNS SRV记录允许指定端口,但浏览器不要使用它们,唉。

答案 1 :(得分:3)

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

http://www.jboss.org/community/wiki/UsingModproxyWithJBoss

答案 2 :(得分:1)

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

但是您可以随时将您的网络服务器配置为根据主机标头提供不同的页面(因此,使用端口8080非常有用)。我可以给你详细信息,但我需要知道你正在使用的网络服务器。

编辑:如果你正在使用tomcat,你应该添加另一个Host指令,详细信息可以在这里找到:http://tomcat.apache.org/tomcat-4.1-doc/config/host.html

答案 3 :(得分:1)

没有

您无法在dns配置中定义端口。 这不是它的目的。 这只是关于ip - >主持和逆转。

答案 4 :(得分:1)

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

答案 5 :(得分:0)

您可以使用Dyndns.org webhop服务来处理这种情况。 它最多可供5位主机免费使用。

答案 6 :(得分:0)

正如鲍里斯所说,这是不可能的。

但您可以使用SIP等某些服务。

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

更多信息:http://en.wikipedia.org/wiki/SRV_record

答案 7 :(得分:0)

不可能。

但您可以在服务器上添加另一个IP。这样,您可以将服务器绑定到同一台计算机上的不同IP地址。 DNS当然会指向不同的IP。

这是一个很好的解决方案,特别是如果你使用的是ipv6。提供者经常分配一大堆ipv6地址,如/ 64,因此您可以在每个地址上绑定不同的服务器。 :)

答案 8 :(得分:-1)

可以使用Apache虚拟主机。我不知道确切的语法,但我知道rails是如何工作的。它类似于:

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

重启apache。