import{_ as e,c as i,o as t,a4 as o}from"./chunks/framework.BmdFiWrL.js";const k=JSON.parse('{"title":"DDNS","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en_US/guide/ddns.md","filePath":"en_US/guide/ddns.md","lastUpdated":1729393219000}'),s={name:"en_US/guide/ddns.md"},a=o(`

DDNS

The DDNS functionality is designed for servers with dynamic IP addresses. When the Agent server reports a new IP (every 10 minutes), Dashboard will automatically update the DNS record based on the configuration.

Why should I use Nezha's DDNS functionality?

Configuration

You can directly add DDNS configurations in the Dashboard management page.

  1. Click on the "Dynamic DNS" option in the menu bar to enter the configuration page.
  2. Click the "New Profile" button and fill in the required information in the pop-up window. Option details:
  3. If using the webhook provider, the corresponding options need to be filled out as required. For detailed instructions, see Webhook Configuration.
  4. You need to check at least one of IPv4 Enabled and IPv6 Enabled; otherwise, no update operations will be performed.
  5. After adding a new configuration, you also need to modify the server settings to activate DDNS. Server-related options include:

Webhook Configuration

Webhook requires manually constructing HTTP requests, suitable for using other provider services when operations are simple.

Webhook option descriptions:

Supported Webhook placeholders:

Oray Webhook Example

Click to expand/collapse

Provider List

ProviderCredential 1 (ID)Credential 2 (Secret)
dummy❌️❌️
webhookOptionalOptional
cloudflare❌️
tencentcloud

Viewing Logs

In the Dashboard logs, you can see the relevant logs for the DDNS functionality. When configured correctly, there will be corresponding log entries when updating DNS records.

shell
dashboard_1  | 2024/03/16 23:16:25 NEZHA>> 正在尝试更新域名(ddns.example.com)DDNS(1/3)
dashboard_1  | 2024/03/16 23:16:28 NEZHA>> 尝试更新域名(ddns.example.com)DDNS成功
`,20),n=[a];function d(r,l,h,c,p,u){return t(),i("div",null,n)}const m=e(s,[["render",d]]);export{k as __pageData,m as default};