【问题标题】:NodeJS object DNS API service prototypeNodeJS 对象 DNS API 服务原型
【发布时间】:2019-11-18 01:37:27
【问题描述】:

我想使用 NodeJS 编写一个基本的 DNS API 服务;我有一个外部(黑盒)服务,它都生成随机 URL 作为访问点:https://<host_name>/<UUID> 并将这些 URL 推送到我的服务。

我想要一种将这些 URL 与用户可以创建的静态名称(在注册时)链接的方法。这个想法是用户将能够生成静态密钥(唯一标识符)并使用这些“密钥”(唯一标识符)来访问(通过重定向)给定的 URL;例如,假设临时链接(其中一个被推送到我的 DNS 服务中)如下所示:http://cool_server/2938ba6e-e54e-4393-926f-dacc91c2a33e(UUID 每隔 x 分钟不断变化),用户在我的 object_DNS_service 上创建一个帐户并生成一个静态键(或唯一的字符串):link_to_cool_server

我希望我的 DNS 服务将 http://cool_server/2938ba6e-e54e-4393-926f-dacc91c2a33e 链接到 http(s)://link_to_cool_server.<my_host_name>,这样无论推送到我的服务中的 URL 多久更改一次,用户仍然可以通过重定向访问它,使用我自己的主机名及其唯一键/字符串:

我的问题是: NodeJS 中的 DNS 模块能帮我解决这个问题吗? - 我该怎么办?

【问题讨论】:

    标签: node.js api api-design


    【解决方案1】:
    1. <my_host_name> 上使用通配符 dns,以便 <anything>.<my_host_name> 解析为您的节点服务器的 IP 地址

    2. 该节点服务器上将有一个端点/路由将<key>从url https://<key>.<my_host_name>中提取出来

    3. 然后端点在您的数据库中查找 <key> 的当前 UUID

    4. 响应请求并重定向到https://cool_server/<UUID>

    【讨论】:

    • 这很有帮助,实际上:(投票赞成):您将如何处理重定向?只是一个 308 状态码?
    • 如果您使用 express 会更简单,只需res.redirect(uuidUrl)
    猜你喜欢
    • 1970-01-01
    • 2014-01-13
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    • 2018-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多