DNSBox — SSL Certificate for Any IP Address

Use *.dnsbox.io to instantly get an SSL certificate and DNS for any IP. No domain setup. No configuration required.

🔒 SSL Certificates for IP Addresses

🔧 How It Works

You can't get an SSL certificate directly for a raw IP address — certificate authorities (including Let's Encrypt) don’t issue them. DNSBox solves this by giving you a free SSL certificate for any public IP within seconds, no domain or custom DNS required.


We automatically inject DNS and complete ACME validation by issuing a Let's Encrypt certificate for a subdomain like 123.123.123.123.dnsbox.io. Both IPv4 and IPv6 are supported. It just works — open HTTPS to your IP via DNSBox.


DNSBox maps IP addresses to domain names automatically. Just encode the IP in the subdomain:

🎯 Use Cases

DNSBox is a universal tool for instant access to IP addresses via DNS and HTTPS — with zero configuration:

🌍 Why Use DNSBox for SSL on IP Addresses?

Frequently Asked Questions

🧪 Want to Self-Host?

DNSBox lets you get an SSL certificate for an IP address without buying a domain or configuring DNS — just use a subdomain like IP.dnsbox.io and it works out of the box.

But if you prefer a fully self-hosted instance that manages its own DNS records and certificates, you'll need to set up the infrastructure manually:

What You’ll Need for Self-Hosting:

1. ✅ Buy a domain (e.g., example.com).
2. 🖥 Rent at least two servers with public static IP addresses — they’ll serve as your NS servers.
3. 🛠 Create NS records at your domain registrar pointing to those IPs. For example:


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

4. 🚀 Install DNSBox on each server, passing the correct parameters:

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

Parameter Reference:

--ip — the public IP address of the current server (must match your NS record).
--domain — your root domain, e.g. example.com.
--ns — the name of the current NS server (ns1, ns2, etc.).

Additional Flags:

--force-resolv — disables systemd-resolved (if port 53 is in use).
--debug — enables verbose logging (DNSBOX_DEBUG=true).

📌 Once your DNSBox node is running, it will:

💡 Ideal for scenarios where you:

🔗 View the source code and documentation:
github.com/crypto-chiefs/dnsbox

✅ How to Verify It's Working

After setting up DNSBox, make sure your SSL certificate for the IP address has been issued and is accessible via HTTPS. Below is a step-by-step guide for two scenarios: using IP.dnsbox.io and self-hosted deployment.

1. If you're using IP.dnsbox.io

DNSBox automatically spins up DNS and an HTTPS proxy for your IP — no extra setup required.

DNS Record Check:

dig +short 167.172.5.205.dnsbox.io

Expected result: the IP of a DNSBox nameserver (e.g., 167.172.5.205, if that was specified during setup).

HTTPS Check in Browser:

https://167.172.5.205.dnsbox.io

🔒 The browser should show a secure connection with a valid Let's Encrypt certificate.


2. If you deployed DNSBox yourself

In this case, you're managing your own infrastructure: domain, NS records, and DNSBox nodes. Make sure everything is configured properly:

NS Records Check:

dig NS example.com

Ensure the domain returns ns1.example.com., ns2.example.com., and so on.

NS Server IPs Check:

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

The response should include the actual IPs of your VPS nameservers.

Zone Resolution via Specific NS:

dig @167.172.5.205 A example.com

Verify that the domain resolves to the expected IP address.

📌 If you run into issues — double-check that DNS is working, NS records are correct, and DNSBox is running on all your NS servers.

⚙️ Technical Details

Core Implementation

DNS and Routing

IP Parsing from Subdomain:

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

Supported DNS Record Types:

  • A, AAAA: A / AAAA — IP address extracted from the domain name
  • TXT: TXT — Stores and replicates ACME challenges
  • NS, SOA, SRV: NS, SOA, SRV — Generated dynamically (including peer discovery)
  • CNAME, MX, TXT: CNAME, MX, TXT — Manually set via custom_domains.txt

Custom DNS Module

TLS and HTTPS

WebSocket

Security & Restrictions

Deployment & Configuration

How to Get an SSL Certificate for an IP Address

Traditional CAs (Certificate Authorities) don’t issue SSL certificates directly for IP addresses. DNSBox is a unique service that bypasses this limitation using dynamic DNS injection. Just use a subdomain like IP.dnsbox.io, and we’ll validate it via Let’s Encrypt — issuing a working HTTPS certificate in seconds.

It’s the perfect solution when you need a SSL certificate for a server over IP, HTTPS for APIs without a domain, or you’re building with IoT, test environments, or tunnels where domain registration isn’t feasible.

View on GitHub