Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该使用什么DNS类型使我的REST服务通过我的域可用?_Rest_Http_Dns - Fatal编程技术网

我应该使用什么DNS类型使我的REST服务通过我的域可用?

我应该使用什么DNS类型使我的REST服务通过我的域可用?,rest,http,dns,Rest,Http,Dns,我在ip+端口地址上提供了一些REST服务。现在我想配置一个DNS条目,使其在我的域中可用。我尝试了屏蔽重定向,但一旦我这样做了,我就无法使用重定向地址访问REST服务。我应该使用哪种类型的DNS条目?DNS只在IP地址级别工作,它唯一关心的是将域名映射到IP地址,无法指定端口号 如果服务器位于12.34.56.78,则可以使用a记录指向该服务器。无法在DNS中指定端口 编辑以添加 虽然RFC2782确实提供了一种使用Srv记录来指定端口号的方法,但它最终被允许过期,并且从未更新 具体来说,该提

我在ip+端口地址上提供了一些REST服务。现在我想配置一个DNS条目,使其在我的域中可用。我尝试了屏蔽重定向,但一旦我这样做了,我就无法使用重定向地址访问REST服务。我应该使用哪种类型的DNS条目?

DNS只在IP地址级别工作,它唯一关心的是将域名映射到IP地址,无法指定端口号

如果服务器位于12.34.56.78,则可以使用a记录指向该服务器。无法在DNS中指定端口

编辑以添加

虽然RFC2782确实提供了一种使用Srv记录来指定端口号的方法,但它最终被允许过期,并且从未更新

具体来说,该提案被拒绝,因为它可能会破坏HTTP层中的太多内容

IETF留言板上张贴了一份解释该决定的声明

我本来是建议的,但在邮件列表中经过长时间的讨论后,我 理解在WS-Client中强制DNS SRV会破坏太多 HTTP世界中的假设(通常仅见于HTTP层之上) 而不是低于)

HTTP代理的存在也是一大障碍,因为 应升级/修改代理以执行DNS SRV 解决方案,以防HTTP请求是WebSocket握手。 最后一个论点足以不强制SRV决议


(从另一个复制)

DNS只在IP地址级别工作,它唯一关心的是将域名映射到IP地址,无法指定端口号

如果服务器位于12.34.56.78,则可以使用a记录指向该服务器。无法在DNS中指定端口

编辑以添加

虽然RFC2782确实提供了一种使用Srv记录来指定端口号的方法,但它最终被允许过期,并且从未更新

具体来说,该提案被拒绝,因为它可能会破坏HTTP层中的太多内容

IETF留言板上张贴了一份解释该决定的声明

我本来是建议的,但在邮件列表中经过长时间的讨论后,我 理解在WS-Client中强制DNS SRV会破坏太多 HTTP世界中的假设(通常仅见于HTTP层之上) 而不是低于)

HTTP代理的存在也是一大障碍,因为 应升级/修改代理以执行DNS SRV 解决方案,以防HTTP请求是WebSocket握手。 最后一个论点足以不强制SRV决议


(从另一个复制)

实际上有一种机制,最初在中指定(已被淘汰)。这允许通过特殊的
SRV
(类型33)DNS条目自动发现服务,为命名服务指定端口和权重(即首选项)。有人将其扩展到HTTP URI,但最终允许各自的草案在达到RFC状态之前过期。其中一些原因在后一部分中提到


虽然
SRV
记录在中的使用非常活跃,但HTTP客户端对此的支持却非常有限。因此,如果您想通过一个专用的非标准端口提供服务,最好是在URL中指定它,如中所述。

实际上有一种称为“最初指定于”(已被淘汰)的机制。这允许通过特殊的
SRV
(类型33)DNS条目自动发现服务,为命名服务指定端口和权重(即首选项)。有人将其扩展到HTTP URI,但最终允许各自的草案在达到RFC状态之前过期。其中一些原因在后一部分中提到


虽然
SRV
记录在中的使用非常活跃,但HTTP客户端对此的支持却非常有限。因此,如果您想通过专用的非标准端口提供服务,最好是在URL中指定它,如中所述。

这实际上是不正确的。请看另一个答案。SRV记录当然使用端口。它是实用的还是有用的是另一回事。@Evert我已经修改了answer@MichaelB-AzureMVP过期的不是RFC2782,而是一个向HTTP引入
SRV
记录的提案(实际上是两个)。由于您在引用的邮件中提到的问题,这些工作已经停止<不过,code>SRV记录本身非常活跃。例如,SIP和Jabber/XMPP服务正在使用它们。@DaSourcerer我意识到SRV记录是非常活跃的,但是这个问题是专门针对REST(即HTTP)请求的,因此SRV记录在这个问题上被打折了。@MichaelB AzureMVP对此没有异议。但是你的回答似乎暗示是
SRV
记录本身的RFC过期了;不是特定于HTTP的建议。你似乎也有这样的印象,我主张使用上述记录来解决手头的问题。事实并非如此:我想表明(a)确实有一种方法可以通过DNS为给定服务指定端口,(b)这种方法不适用于HTTP,应该避免,(c)最终(IMHO correct)方法是在请求URL中显式设置端口。这实际上是不正确的。请看另一个答案。SRV记录当然使用端口。它是实用的还是有用的是另一回事。@Evert我已经修改了answer@MichaelB-AzureMVP过期的不是RFC2782,而是一个向HTTP引入
SRV
记录的提案(实际上是两个)。由于您在引用的邮件中提到的问题,这些工作已经停止<不过,code>SRV记录本身非常活跃。例如,SIP和Jabber/XMPP服务正在使用它们。@DaSourcerer我意识到SRV记录是非常活跃的,但是这个问题特别是关于REST(即HTTP)请求和SR