DNSBox — SSL证书用于IP地址

使用*.dnsbox.io立即为任何IP地址获取SSL证书和DNS。无需配置域名。无需配置。

🔒 IP地址的SSL证书

🔧 它是如何工作的

直接为IP地址获取SSL证书是不可能的:认证机构(包括Let's Encrypt)不会为裸IP颁发证书。DNSBox解决了这个问题——您可以在几秒钟内获得任何公共IP的免费SSL证书,无需设置域名或自己的DNS。


我们会自动替换DNS并执行ACME验证,通过123.123.123.123.dnsbox.io的子域名颁发Let's Encrypt证书。支持IPv4IPv6。一切都可以立即使用——只需通过DNSBox访问您所需的IP的HTTPS。


DNSBox自动将IP地址映射到域名。只需在子域名中编码IP:

🎯 使用场景

DNSBox 是一个通用工具,允许通过 DNS 和 HTTPS 快速访问 IP 地址,无需复杂的配置:

🌍 为什么选择 DNSBox 获取 IP 地址的 SSL 证书?

常见问题

🧪 想要自行部署吗?

DNSBox 允许您在无需购买域名或设置 DNS 的情况下,直接为 IP 地址获得 SSL 证书 — 您只需使用 IP.dnsbox.io 这样的子域名,一切将“开箱即用”。

但是,如果您想要完全独立的实例,管理自己的 DNS 记录和证书,那么您需要手动配置基础设施:

自定义部署所需的条件:

1. ✅ 购买域名(例如 example.com)。
2. 🖥 租用至少两台服务器,并且它们需要有公共的 静态 IP 地址,这些服务器将作为 NS 服务器使用。
3. 🛠 在注册商处创建 NS 记录,将这些 IP 地址指向这些服务器。例如:


ns1.example.com → 167.172.5.205
ns2.example.com → 134.199.248.116
  

4. 🚀 在每台服务器上安装 DNSBox,并提供正确的参数:

bash <(curl -sSL https://install.dnsbox.io) \
  --ip=167.172.5.205 \
  --domain=example.com \
  --ns=ns1
  

参数说明:

--ip — 当前服务器的公共 IP 地址(与 NS 记录中的相同)。
--domain — 根域名,例如 example.com
--ns — 当前 NS 服务器的名称(如 ns1ns2 等)。

附加选项:

--force-resolv — 禁用 systemd-resolved(如果端口 53 被占用)。
--debug — 启用详细日志记录 (DNSBOX_DEBUG=true)。

📌 配置完成后,您的 DNSBox 将:

💡 该解决方案非常适合您,如果您:

🔗 查看源代码和文档:
github.com/crypto-chiefs/dnsbox

✅ 如何检查一切是否正常工作

设置 DNSBox 后,重要的是确保您的 IP 地址的 SSL 证书 已成功颁发并通过 HTTPS 可访问。以下是两种场景的说明:使用子域名 IP.dnsbox.io 和独立部署。

1. 如果您使用 IP.dnsbox.io

DNSBox 自动为您的 IP 设置 DNS 和 HTTPS 代理,因此一切无需额外配置即可工作。

检查 DNS 记录:

dig +short 167.172.5.205.dnsbox.io

预期的响应是 DNSBox 的其中一个 NS 服务器的 IP(例如,如果在安装时指定了 167.172.5.205)。

检查浏览器中的 HTTPS:

https://167.172.5.205.dnsbox.io

🔒 浏览器应显示 安全连接,并且 Let's Encrypt 的证书有效。


2. 如果您独立部署了 DNSBox

在这种情况下,您管理自己的基础设施:域名、NS 记录和 DNSBox 服务器。请检查一切是否正常工作:

检查域名的 NS 记录:

dig NS example.com

确保返回 ns1.example.com.ns2.example.com. 等记录。

检查 NS 服务器的 IP 地址:

dig A ns1.example.com
dig A ns2.example.com

响应应包含您的 VPS 服务器的实际 IP。

通过特定 NS 服务器检查区域:

dig @167.172.5.205 A example.com

确保域名解析到预期的 IP 地址。

📌 如果出现错误,请确保 DNS 正常工作,NS 记录正确,且 DNSBox 在所有 NS 服务器上运行。

⚙️ 技术细节

基础实现

DNS 和路由

从域名中解析 IP:

  • 1.2.3.4.dnsbox.io1.2.3.4
  • 2a01-4f8-c17-b8f--1.dnsbox.io2a01:4f8:c17:b8f::1 (где -- → ::, - → :)

支持的 DNS 请求类型:

  • A, AAAA: 从域名获取 IP 地址
  • TXT: 存储和复制 ACME 挑战
  • NS, SOA, SRV: 动态生成(包括对等发现)
  • CNAME, MX, TXT: 可以通过 custom_domains.txt 手动指定

自定义 DNS 模块

TLS 和 HTTPS

WebSocket

安全性与限制

部署与配置

如何为 IP 地址获取 SSL 证书

普通的证书颁发机构(CA)不能直接为 IP 地址颁发证书。DNSBox 是一个独特的服务,可以通过动态 DNS 替代来解决这个限制。使用格式为 IP.dnsbox.io 的子域名,我们将通过 Let's Encrypt 执行验证并颁发有效的 HTTPS 证书。

这是一个理想的解决方案,如果您需要 IP 服务器的 SSL无域名的 API HTTPS,或者您正在处理 物联网(IoT)、测试环境、隧道 等无法注册域名的场景。

查看GitHub