ระเบียน CNAME DNS ของ wildcard นั้นใช้ได้หรือไม่


87

ฉันรู้ว่ามันถูกต้องที่จะมีระเบียน DNS A ซึ่งเป็นสัญลักษณ์แทน (เช่น * .mysite.com) เป็นไปได้ / ถูกต้อง / แนะนำให้มีการบันทึกไวด์การ์ด CNAME หรือไม่?


นอกเหนือ: สิ่งนี้ยังไม่ให้วิธีการสร้าง mysite.com ให้ตัวเองเป็น CNAME
reinierpost

คำตอบ:


60

เป็นไปได้ที่จะทำเช่นนี้ จนถึงจุดหนึ่งมันก็ขึ้นไปในอากาศสักหน่อยจนกระทั่ง4592ชี้แจงว่าควรได้รับการสนับสนุน

เพียงเพราะมันเป็นไปได้ไม่ได้หมายความว่ามันได้รับการสนับสนุนโดยผู้ให้บริการ DNS ทั้งหมด ตัวอย่างเช่น GoDaddy จะไม่อนุญาตให้คุณตั้งค่าตัวแทนในระเบียน CNAME

ในแง่ของว่าจะแนะนำหรือไม่ทำมันขึ้นอยู่กับการใช้งานของคุณ โดยปกติ CNAMES จะใช้เพื่อความสะดวกเมื่อคุณชี้ไปยังชื่อโดเมน "นอก" ที่คุณไม่ได้ควบคุม DNS

ตัวอย่างเช่นสมมติว่าคุณตั้งค่าระบบ CMS ที่อนุญาตให้คุณมี * .mycms.com เป็นชื่อไซต์ (ใช้ส่วนหัวของโฮสต์) คุณต้องการให้ลูกค้าสามารถตั้งค่า * .cms.customer.com ได้อย่างง่ายดายโดยไม่ต้องกังวลว่าคุณอาจเปลี่ยนที่อยู่ IP ของคุณในบางจุด ในกรณีนี้คุณสามารถแนะนำให้ตั้งค่าตัวแทน CNAME ที่เรียกว่า * .cms.customer.com เป็น www.mycms.com

เนื่องจาก wildcard CNAMES ไม่ได้รับการสนับสนุนจากผู้ให้บริการทั้งหมด (เช่น GoDaddy) ฉันจึงไม่แนะนำให้ใช้ในกรณีที่คุณแนะนำให้ลูกค้ารายอื่น (ซึ่งคุณไม่ทราบถึงความสามารถของผู้ให้บริการ)


8
ที่จริงแล้วคุณสามารถตั้งค่า wildcard DNS ด้วย GoDaddy เพียงตั้งค่าโฮสต์เป็น "**"
Chris Pietschmann

2
ฉันเห็นว่า ** เครื่องมือจัดการ DNS ของ GoDaddy ได้รับการยอมรับ แต่มันใช้งานได้จริงหรือไม่? ดูเหมือนว่าคุณสมบัติที่ไม่มีเอกสาร
dunxd

4
ฉันได้ทำการทดสอบแล้ว: ** ไม่ทำงานเป็น wildcard ใน GoDaddy DNS ฉันโทรไปหลายครั้งเพื่อให้แน่ใจว่าไม่มีวิธีการทำเช่นนี้ (แม้จะมี Premium DNS ของพวกเขา) ก่อนที่จะเปลี่ยนเป็นผู้ให้บริการรายอื่นด้วยเหตุผลนี้
mltsy

3
@mltsy: หนึ่งในเว็บไซต์หลักของเราใช้ wildcard dns ร่วมกับ GoDaddy เรามีเวลาสองสามปีแล้วและเราไม่ได้ใช้ DNS พรีเมี่ยม นอกจากนี้ก็ไม่ได้* **
NotMe

2
@DaveKanter โอ้คุณพูดถูก คำสั่งบทความจะกล่าวถึงเฉพาะระเบียน A อย่างไรก็ตามฉันได้ตั้งค่า*ระเบียนตัวแทนCNAME ให้กับลูกค้าเรียบร้อยแล้วในเดือนกุมภาพันธ์นี้ ใช้แดชบอร์ด GoDaddy และฉันยืนยันว่ามันใช้งานได้ตามที่คาดหวัง
e1v

20

ฉันเพิ่มบรรทัด

*.www        IN CNAME        my_webserver

ไปยังไฟล์โซนของฉันในการกำหนดค่าผูกของฉันและที่ทำงานได้อย่างสมบูรณ์ (เช่น. whatever.www.domain.comและwhatever2.www.domain.comชี้ไปที่my_webserverทั้งหมด

นอกจากนี้ยังเป็นไปได้ที่จะเพิ่มข้อยกเว้นนี้โดยการเพิ่มบรรทัด

exception.www        IN CNAME        another_server

เพื่อให้ชี้ไปที่exception.www.domain.comanother_server



4

เราใช้ wildcard dns ตลอดเวลาและเราไม่มีปัญหาใด ๆ หากคุณชี้ไปที่ ipaddres ให้ใช้:

*.mysite.com     Host (A)    Default     xxx.xxx.xxx.xxx

หากคุณต้องการใช้นามแฝงให้ทำ:

*.mysite.com.   IN CNAME mysite.com.

การตั้งค่าครั้งแรกทำงานได้ดีสำหรับเราเมื่อเราใช้wildcard ssl cert (ssl.com) ที่เราต้องการให้ผู้ใช้แต่ละคนมีusername.mysite.com
Yogi

4

เท่าที่ฉันจำได้ว่าคุณสามารถทำเช่นนี้ได้ แต่จากนั้น CNAME จะไม่สามารถใช้ได้กับประเภทระเบียนอื่นใดเช่น NS หรือ MX

ไม่แน่ใจว่าคุณกำลังพยายามทำอะไรกับ "สัญลักษณ์" ดังนั้นฉันจะต้องตอบคำถามทั่วไป :)

ในการชี้แจง CNAME aserver.domain หมายความว่าคุณไม่มีชื่ออื่น

มีข้อยกเว้น แต่ฉันไม่รู้ว่าสิ่งเหล่านั้นปิดส่วนหัวของฉันและไม่แน่ใจว่าสิ่งที่คุณต้องการทำดังนั้นฉันไม่ต้องเสียเวลา


ขอขอบคุณสำหรับคำเตือนเกี่ยวกับการแบ่งปันCNAMEบันทึกกับระเบียนประเภทอื่นสำหรับโดเมนเดียวกัน ผมมีปัญหาที่คล้ายกันและเซิร์ฟเวอร์ DNS ของฉันมักจะเตือนฉันเกี่ยวกับการปะทะกัน แต่ในกรณีนี้มันไม่ได้เพราะ CNAME เป็น*.example.comและบันทึกพิเศษ (กTXTระเบียน) subdomain1.example.comเป็นโดเมนย่อยที่เฉพาะเจาะจง ดังนั้นมันจึงไม่ได้เกิดการปะทะ! อ๊ะ
Paul d'Aoust

2

เมื่อคุณสร้างระเบียน CNAME ให้ยุติเซิร์ฟเวอร์แหลมด้วยจุดเช่น:. .ydydomain.com สังเกตเห็นจุดสุดท้าย


1

นี่คือผลการทดสอบของฉัน ฉันลบระเบียน A สำหรับ mysite.com และ www.mysite.com และเพิ่มระเบียน CNAME สำหรับ * .mysite.com การทดสอบไม่ทำงาน mysite.com จะไม่แก้ไข เพื่อความชัดเจนฉันใช้ OpenDNS สำหรับเซิร์ฟเวอร์ DNS ของฉัน อาจทำงานได้ดีกับเซิร์ฟเวอร์ DNS อื่น ๆ แต่ฉันต้องการให้มันทำงานได้อย่างเป็นสากล จากผลลัพธ์เหล่านั้นฉันจะยึดติดกับบันทึกมาตรฐาน A


นี่ไม่ใช่พฤติกรรมที่คาดหวังใช่หรือไม่ เท่าที่ฉันเห็น * .mysite.com จะไม่ตรงกับ mysite.com โดยไม่คำนึงถึงประเภท RR ใช้งานได้กับระเบียน A หรือไม่
markdrayton

ไม่ ' ' ตรงกับป้ายกำกับหนึ่งป้ายขึ้นไปดังนั้น ' .example.com' ไม่ตรงกับ 'example.com'
Alnitak

ฉันไม่ทราบ แต่มันก็สมเหตุสมผล ดังนั้นดูเหมือนว่าฉันต้องการอย่างน้อยหนึ่งระเบียน A สำหรับชื่อโดเมนรูทและจากนั้นฉันสามารถใช้ระเบียน wildcard CNAME เพื่อครอบคลุมทุกอย่างอื่น นั่นไม่ใช่ทางออกที่ฉันต้องการ แต่อย่างน้อยฉันก็รู้
Ben Mills

1

มันใช้งานได้แล้ว

เพียงใช้ "*" ในส่วน cname ของตัวแก้ไขไฟล์โซนหรือตัวจัดการ DNS จาก Godaddy ให้ชี้ไปที่ชื่อ IP หรือ DNS

ในกรณีของฉันฉันใช้ชื่อ DNS ที่ชี้ไปยัง Microsoft Azure cloudservice และใช้งานได้ดี สิ่งนี้ใช้ได้กับ bla.domain.ext แต่ยังใช้ได้กับ bla.bla.domain.ext อาจทำงานแตกต่างกันสำหรับผู้ให้บริการรายอื่น


1
ระเบียน DNS CNAME ไม่ได้ชี้ไปที่ URL หรือ IP แต่เป็นชื่อ DNS เดียวซึ่งชื่อที่มีรายการ CNAME นั้นเทียบเท่า
Falcon Momot

สังเกตเห็นฉันเปลี่ยนคำตอบ
Martijn van Halen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.