ទិដ្ឋភាពទូទៅ
DNS API ផ្តល់ការគ្រប់គ្រងពេញលេញនៃតំបន់ DNS និងកំណត់ត្រា។ តំបន់ទាំងអស់ត្រូវបានរៀបចំនៅលើម៉ាស៊ីនបម្រើឈ្មោះដែលមានសិទ្ធិអំណាចរបស់ VPS.org ជាមួយការបង្កើតនិងបញ្ជូនឯកសារតំបន់ BIND9 ដោយស្វ័យប្រវត្តិ។
ហេដ្ឋារចនាសម្ព័ន្ធម៉ាស៊ីនបម្រើឈ្មោះ
ns1.vps.org (38.248.6.195) - មេចម្បងជាមួយការចុះហត្ថលេខាក្នុងបន្ទាត់ DNSSEC
ns2.vps.org (38.248.6.196) - កូនកាត់រង
ns3.vps.org (38.248.6.197) - កូនកាត់រង
លក្ខណៈពិសេសសំខាន់
ការបង្កើត និងការបែងចែកឯកសារតំបន់ BIND9 ដោយស្វ័យប្រវត្តិ
តំបន់ផ្ទេរតាមរយៈការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ TSIG (ចម្លងមេ- slave)
គាំទ្រសម្រាប់ប្រភេទកំណត់ត្រា DNS សំខាន់ៗទាំងអស់ (A, AAAA, CNAME, MX, TXT, NS, SRV, CAA)
ការត្រងឈ្មោះដែន និងការកំណត់អត្តសញ្ញាណតំបន់ដែលមានមូលដ្ឋានលើ UUID
ផ្លូវដែលបានដាក់ក្នុងចន្លោះសម្រាប់ការគ្រប់គ្រងកំណត់ហេតុជាក់លាក់តំបន់
ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ
សំណើ API DNS ទាំងអស់ត្រូវការការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវរបស់ Token Bearer ។ បង្កើត Token API ពីអេក្រង់គ្រប់គ្រងគណនីរបស់អ្នកនៅ /account/developers/ ជាមួយនឹងសិទ្ធិដូចខាងក្រោម & # 160; ៖
dns:list - មើលតំបន់ និងកំណត់ហេតុ DNS
dns:create - បង្កើតតំបន់ និងកំណត់ហេតុថ្មី
dns:update - កែប្រែតំបន់ និងកំណត់ហេតុដែលមានស្រាប់
dns:delete - លុបតំបន់ និងកំណត់ហេតុ
dns:* - ការចូលដំណើរការគ្រប់គ្រង DNS ពេញលេញ
ឧទាហរណ៍
Authorization: Bearer vps_abc123def456...
សំខាន់ & # 160; ៖ សញ្ញាសម្គាល់ API ត្រូវបានបង្ហាញតែម្តងក្នុងអំឡុងពេលបង្កើត & # 160; ។ រក្សាទុកពួកវាឲ្យមានសុវត្ថិភាព & # 160; ។ ប្រសិនបើអ្នកបាត់បង់សញ្ញាសម្គាល់ អ្នកត្រូវតែបង្កើតមួយថ្មី & # 160; ។
រាយបញ្ជីតំបន់ DNS ទាំងអស់
យកបញ្ជីទំព័រនៃតំបន់ DNS ទាំងអស់ដែលជាកម្មសិទ្ធិរបស់អ្នកប្រើដែលបានផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ & # 160; ។ គាំទ្រការត្រងតាមឈ្មោះដែន & # 160; ។
ប៉ារ៉ាម៉ែត្រសំណួរ
ប៉ារ៉ាម៉ែត្រ
ប្រភេទ
តម្រូវឲ្យមាន
សេចក្ដីពិពណ៌នា
domain
string
គ្មាន
Filter zones by exact domain name (e.g., example.com)
សំណើឧទាហរណ៍
curl -X GET "https://admin.vps.org/api/v1/dns-zones/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
ចម្លង
import requests
url = "https://admin.vps.org/api/v1/dns-zones/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
response = requests.get(url, headers=headers)
print(response.json())
ចម្លង
const response = await fetch('https://admin.vps.org/api/v1/dns-zones/', {
headers: {'Authorization': 'Bearer YOUR_API_TOKEN'}
});
const zones = await response.json();
console.log(zones);
ចម្លង
ឧទាហរណ៍នៃការឆ្លើយតប
[
{
"uuid": "abc123-def456-ghi789",
"domain": "example.com",
"created_at": "2024-01-15T10:30:00Z",
"record_count": 12
},
{
"uuid": "xyz789-uvw456-rst123",
"domain": "myapp.io",
"created_at": "2024-06-20T14:15:00Z",
"record_count": 8
}
]
វាលឆ្លើយតប
វាល
ប្រភេទ
សេចក្ដីពិពណ៌នា
uuid
string
Unique zone identifier (used in API requests)
domain
string
Domain name for this DNS zone
created_at
datetime
Zone creation timestamp (ISO 8601 format)
record_count
integer
Total number of DNS records in this zone
លេខកូដស្ថានភាពឆ្លើយតប
200
Successfully retrieved DNS zones list
401
Unauthorized - Invalid or missing API token
403
Forbidden - Token lacks dns:list permission
យកសេចក្ដីលម្អិតតំបន់ DNS
យកព័ត៌មានលម្អិតអំពីតំបន់ DNS ជាក់លាក់ រួមទាំងកំណត់ហេតុទាំងអស់ & # 160; ។
ប៉ារ៉ាម៉ែត្រផ្លូវ
ប៉ារ៉ាម៉ែត្រ
ប្រភេទ
តម្រូវឲ្យមាន
សេចក្ដីពិពណ៌នា
uuid
string
បាទ/ចាស៎
Unique zone identifier
ឧទាហរណ៍នៃការឆ្លើយតប
{
"uuid": "abc123-def456-ghi789",
"domain": "example.com",
"created_at": "2024-01-15T10:30:00Z",
"record_count": 5,
"records": [
{
"uuid": "rec-001",
"record_type": "A",
"name": "@",
"value": "192.0.2.1",
"ttl": 3600,
"priority": null,
"created_at": "2024-01-15T10:30:00Z"
},
{
"uuid": "rec-002",
"record_type": "MX",
"name": "@",
"value": "mail.example.com",
"ttl": 3600,
"priority": 10,
"created_at": "2024-01-15T10:32:00Z"
}
]
}
លេខកូដស្ថានភាពឆ្លើយតប
200
Successfully retrieved zone details
404
Zone not found or not owned by user
បង្កើតតំបន់ DNS
បង្កើតតំបន់ DNS ថ្មីសម្រាប់ដែន & # 160; ។ តំបន់នឹងត្រូវបានបញ្ជូនភ្លាមៗទៅម៉ាស៊ីនបម្រើឈ្មោះ VPS.org & # 160; ។
ស្នើសុំប៉ារ៉ាម៉ែត្រតួ
ប៉ារ៉ាម៉ែត្រ
ប្រភេទ
តម្រូវឲ្យមាន
សេចក្ដីពិពណ៌នា
domain
string
បាទ/ចាស៎
Domain name (e.g., example.com)
សំណើឧទាហរណ៍
curl -X POST "https://admin.vps.org/api/v1/dns-zones/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"domain": "newdomain.com"}'
ចម្លង
import requests
url = "https://admin.vps.org/api/v1/dns-zones/"
headers = {
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json"
}
data = {"domain": "newdomain.com"}
response = requests.post(url, headers=headers, json=data)
print(response.json())
ចម្លង
const response = await fetch('https://admin.vps.org/api/v1/dns-zones/', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({domain: 'newdomain.com'})
});
const zone = await response.json();
console.log(zone);
ចម្លង
ឧទាហរណ៍នៃការឆ្លើយតប
{
"uuid": "new-zone-uuid",
"domain": "newdomain.com",
"created_at": "2026-01-18T16:45:00Z",
"record_count": 0,
"records": []
}
លេខកូដស្ថានភាពឆ្លើយតប
201
DNS zone created successfully
400
Bad Request - Invalid domain name or zone already exists
403
Forbidden - Token lacks dns:create permission
លុបតំបន់ DNS
លុបតំបន់ DNS និងកំណត់ហេតុដែលបានភ្ជាប់ទាំងអស់ជាអចិន្ត្រៃយ៍ & # 160; ។ អំពើនេះមិនអាចមិនធ្វើវិញបានទេ & # 160; ។
ប៉ារ៉ាម៉ែត្រផ្លូវ
ប៉ារ៉ាម៉ែត្រ
ប្រភេទ
តម្រូវឲ្យមាន
សេចក្ដីពិពណ៌នា
uuid
string
បាទ/ចាស៎
Unique zone identifier
លេខកូដស្ថានភាពឆ្លើយតប
204
Zone deleted successfully (no response body)
403
Forbidden - Token lacks dns:delete permission
404
Zone not found
រាយកំណត់ហេតុ DNS ក្នុងតំបន់
យកកំណត់ហេតុ DNS ទាំងអស់សម្រាប់តំបន់ជាក់លាក់ (ផ្លូវដែលបានដាក់ក្នុងចន្លោះ) & # 160; ។
ប៉ារ៉ាម៉ែត្រផ្លូវ
ប៉ារ៉ាម៉ែត្រ
ប្រភេទ
តម្រូវឲ្យមាន
សេចក្ដីពិពណ៌នា
uuid
string
បាទ/ចាស៎
Zone UUID
សំណើឧទាហរណ៍
curl -X GET "https://admin.vps.org/api/v1/dns-zones/{uuid}/records/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
ឧទាហរណ៍នៃការឆ្លើយតប
[
{
"uuid": "rec-001",
"record_type": "A",
"name": "@",
"value": "192.0.2.1",
"ttl": 3600,
"priority": null,
"created_at": "2024-01-15T10:30:00Z"
},
{
"uuid": "rec-002",
"record_type": "MX",
"name": "@",
"value": "mail.example.com",
"ttl": 3600,
"priority": 10,
"created_at": "2024-01-15T10:32:00Z"
}
]
បង្កើតកំណត់ហេតុ DNS ក្នុងតំបន់
បន្ថែមកំណត់ហេតុ DNS ថ្មីទៅតំបន់ជាក់លាក់ (ផ្លូវដែលបានដាក់ក្នុងចន្លោះ) & # 160; ។
ស្នើសុំប៉ារ៉ាម៉ែត្រតួ
ប៉ារ៉ាម៉ែត្រ
ប្រភេទ
តម្រូវឲ្យមាន
សេចក្ដីពិពណ៌នា
record_type
string
បាទ/ចាស៎
Record type: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA
name
string
បាទ/ចាស៎
Record name (@ for root, subdomain, or FQDN)
value
string
បាទ/ចាស៎
Record value (IP address, hostname, text)
ttl
integer
No
Time to live in seconds (default: 3600)
priority
integer
For MX/SRV
Priority (required for MX and SRV records)
សំណើឧទាហរណ៍
curl -X POST "https://admin.vps.org/api/v1/dns-zones/{uuid}/records/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"record_type": "A",
"name": "www",
"value": "192.0.2.1",
"ttl": 3600
}'
ចម្លង
import requests
url = f"https://admin.vps.org/api/v1/dns-zones/{zone_uuid}/records/"
headers = {
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json"
}
data = {
"record_type": "A",
"name": "www",
"value": "192.0.2.1",
"ttl": 3600
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
ចម្លង
លេខកូដស្ថានភាពឆ្លើយតប
201
DNS record created successfully
400
Bad Request - Invalid parameters or validation error (e.g., MX record missing priority)
គ្រប់គ្រងកំណត់ហេតុ DNS (ចូលដំណើរការដោយផ្ទាល់)
ប្រតិបត្តិការ CRUD ពេញលេញលើកំណត់ហេតុ DNS ឯកជនដោយប្រើកំណត់ហេតុ UUID & # 160; ។
ប្រតិបត្តិការដែលមាន
GET /api/v1/dns-records/{uuid}/ - Retrieve record details
PUT /api/v1/dns-records/{uuid}/ - Full update (all fields required)
PATCH /api/v1/dns-records/{uuid}/ - Partial update (only changed fields)
DELETE /api/v1/dns-records/{uuid}/ - Delete record
ប៉ារ៉ាម៉ែត្រសំណួរ (សម្រាប់ GET / api / v1 / dns-records /)
Parameter
ប្រភេទ
សេចក្ដីពិពណ៌នា
zone
string
Filter records by zone UUID
record_type
string
Filter by record type (A, AAAA, MX, etc.)
ឧទាហរណ៍ & # 160; ៖ ធ្វើឲ្យ TTL របស់កំណត់ហេតុទាន់សម័យ
curl -X PATCH "https://admin.vps.org/api/v1/dns-records/{rec-uuid}/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"ttl": 1800}'
Supported DNS Record Types
ប្រភេទ
Purpose
Example Value
Priority Required
A
Maps domain to IPv4 address
192.0.2.1
គ្មាន
AAAA
Maps domain to IPv6 address
2001:0db8::1
គ្មាន
CNAME
Creates alias to another domain
example.com
គ្មាន
MX
Mail server for domain
mail.example.com
បាទ/ចាស៎
TXT
Text record (SPF, DKIM, verification)
v=spf1 include:_spf.google.com ~all
គ្មាន
NS
Nameserver delegation
ns1.example.com
គ្មាន
SRV
Service location record
10 5060 sip.example.com
បាទ/ចាស៎
CAA
Certificate authority authorization
0 issue "letsencrypt.org"
គ្មាន
វិធីសាស្ត្រល្អ
ការកំណត់រចនាសម្ព័ន្ធ TTL
ផលិតកម្ម (ស្ថេរ) & # 160; ៖ 3600-86400 វិនាទី (1-24 ម៉ោង)
មុនពេលប្ដូរទីតាំង & # 160; ៖ 300-600 វិនាទី (5-10 នាទី) - បន្ថយ TTL មុនពេលមានការផ្លាស់ប្តូរដែលបានគ្រោងទុក
ការអភិវឌ្ឍ & # 160; ៖ 300-1800 វិនាទី (5-30 នាទី) សម្រាប់ការធ្វើតេស្តលឿនជាងមុន
លំនាំទូទៅ
ដែន root (@) & # 160; ៖ ប្រើកំណត់ហេតុ A/AAAA មិនមែន CNAME ទេ
ដែនរង www & # 160; ៖ អាចប្រើ CNAME ចង្អុលទៅ root ឬបំបែកកំណត់ហេតុ A
អ៊ីមែល (MX) & # 160; ៖ រួមបញ្ចូលអាទិភាពជានិច្ច លេខទាប = អាទិភាពខ្ពស់
CNAME & # 160; ៖ មិនអាចរួមរស់ជាមួយប្រភេទកំណត់ហេតុផ្សេងទៀតសម្រាប់ឈ្មោះដូចគ្នាបានទេ
សុវត្ថិភាព
កំណត់ហេតុ CAA & # 160; ៖ បញ្ជាក់ថា CA ណាអាចចេញវិញ្ញាបនបត្រ
SPF/ DKIM/ DMARC & # 160; ៖ កំណត់រចនាសម្ព័ន្ធការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវអ៊ីមែលដើម្បីការពារការលួចបន្លំName
ការត្រួតពិនិត្យជាប្រចាំ & # 160; ៖ ពិនិត្យមើលកំណត់ហេតុ DNS ជាប្រចាំត្រីមាស យកធាតុដែលមិនបានប្រើចេញ
ការដោះស្រាយកំហុស
កំហុសទូទៅ
លេខកូដស្ថានភាព
កំហុសក្នុងការបង្កើតឯកសារដែលបានជ្រើស & # 160; ៖% 1
ដំណោះស្រាយ
400
ឈ្មោះដែនមិនត្រឹមត្រូវ
ធានាថាដែនតាមអនុសញ្ញាដាក់ឈ្មោះ DNS
400
កំណត់ហេតុ MX ត្រូវការអាទិភាព
រួមបញ្ចូល priority វាលសម្រាប់កំណត់ហេតុ MX និង SRV
401
សញ្ញាសម្គាល់ API មិនត្រឹមត្រូវ
ពិនិត្យមើលទ្រង់ទ្រាយតួអក្សរ (ត្រូវចាប់ផ្ដើមដោយ vps_)
403
បាត់សិទ្ធិ
បង្កើតតួអក្សរថ្មីដែលទាមទារ dns:* សិទ្ធិ
404
រកមិនឃើញតំបន់/កំណត់ហេតុ
ផ្ទៀងផ្ទាត់ UUID និងធានាថាធនធានជារបស់គណនីរបស់អ្នក
ចម្លើយតបកំហុសឧទាហរណ៍
{
"detail": "MX records require a priority value",
"error_code": "validation_error",
"field": "priority"
}
កំពុងសាកល្បងការផ្លាស់ប្ដូរ DNS
ផ្ទៀងផ្ទាត់ការចម្លងកំណត់ហេតុ
# Query A record
dig example.com A
# Query specific nameserver
dig @ns1.vps.org example.com
# Query MX records
dig example.com MX
# Check all records
dig example.com ANY
ការប្រើឧបករណ៍លើបណ្ដាញ
whatsmydns.net: Check global DNS propagation
dnschecker.org: Multi-location DNS lookup
mxtoolbox.com: Email-related DNS testing