เปลี่ยนเส้นทางคำขอที่ไม่ใช่ www ไปยัง www ใน Amazon Route 53


44

ฉันต้องการที่จะเปลี่ยนเส้นทางการร้องขอทั้งหมดจากการexample.comwww.example.com

สิ่งนี้ควรเกิดขึ้นในระดับ DNS ฉันพยายามใช้เร็กคอร์ด PTR แต่ก็ล้มเหลวโดยคืนค่า 404

wwww.example.com เป็น ALIAS สำหรับ Elastic Load Balancer

วิธีที่ง่ายที่สุดในการบรรลุเป้าหมายนี้คืออะไร


คุณลองทำอะไรกับบันทึก PTR ฉันอยากรู้.
TRiG

@flavian ผู้โพสต์ขอให้เขียน DNS ซ้ำไม่ใช่เขียนซ้ำ URL และเขาบอกว่าเขาไม่สนใจว่า URL นั้นจะเป็นอย่างไร
pauska

4
@flavian เพื่อประโยชน์คุณบอกว่าคุณต้องการเปลี่ยนเส้นทางใน DNS คำตอบของฉันอธิบายวิธีการทำใน DNS หากคุณต้องการเปลี่ยนเส้นทาง URL คุณจะต้องเขียน URL ใหม่ ไม่มีอะไรเกี่ยวข้องกับ DNS
pauska

มีเหตุผลพิเศษในการทำเช่นนั้นหรือไม่? ฉันทำมันวิธีอื่น
nyuszika7h

SAN ใน EV SSL
flavian

คำตอบ:


50

หากคุณใช้เส้นทาง 53 อยู่แล้วคุณสามารถใช้ "บันทึก" นามแฝงเพื่อแก้ไขปัญหานี้ได้ ด้วย DNS มาตรฐานคุณไม่สามารถทำได้เลยและคุณต้องมีเว็บไซต์ที่ส่งการเปลี่ยนเส้นทาง 301 แน่นอนคุณยังต้องส่งการเปลี่ยนเส้นทาง 301 หรือจัดการกับความจริงที่ว่าคำขอบางอย่างจะเข้ามาโดยไม่มี www (แม้ว่าคุณควรส่ง 301s ด้วยเหตุผล SEO)

อาจเป็นวิธีที่ง่ายที่สุดในการทำเช่นนี้คือตั้งค่า S3 bucket ด้วยชื่อโดเมนเปล่าและกำหนดค่าคุณสมบัติ bucket เพื่อเปลี่ยนเส้นทางจาก example.com ไปยัง www.example.com แล้วใน Route 53 สร้างนามแฝงเปล่า ชื่อโดเมนที่ชี้ไปยังที่ฝากข้อมูล S3

จากความเห็น

เพื่อปรับปรุงคำตอบนี่คือสิ่งที่เราทำเพื่อให้ได้ผล:

  • ตั้งค่าที่ฝากข้อมูล - ไม่สำคัญว่าชื่อของมันคืออะไรและจะต้องอนุญาตสาธารณะ
  • ในที่เก็บข้อมูลคลิกคุณสมบัติและคลิกการโฮสต์เว็บไซต์แบบคงที่ คลิกเปลี่ยนเส้นทางคำขอทั้งหมดไปยังชื่อโฮสต์อื่นและเข้าสู่ไซต์ที่คุณต้องการรับส่งข้อมูล
  • คัดลอกจุดปลายของชื่อที่ฝากข้อมูลและไปที่โซนโฮสต์ในคอนโซล Route53 และเพิ่ม CNAME ด้วยนามแฝงไม่ใช่ไปยัง URL ที่คุณต้องเปลี่ยนเส้นทางจากและวางจุดสิ้นสุดที่ฝากข้อมูลเป็นค่าของมัน

@ michael-hampton ถูกต้องฉันถ้าฉันผิด แต่ที่ฝากข้อมูล S3 จะเปลี่ยนเส้นทางสำหรับชื่อโดเมนเปล่าที่ไม่มีเส้นทางใช่ไหม ฉันเพิ่มที่ฝากข้อมูล S3 อย่างถูกต้องสำหรับโดเมนของฉัน แต่จะเปลี่ยนเส้นทางโดเมนที่ไม่มีการปิดบังเท่านั้นและไม่ได้เปลี่ยนเส้นทางสิ่งที่มีเส้นทาง ฉันเดา mod rewrite เป็นวิธีที่จะไป?
John Harding

@JohnHarding ฉันดูโน่ ฉันไม่ได้ใช้บริการ Amazon AWS ส่วนใหญ่อีกต่อไปรวมถึง S3
Michael Hampton

2
เพื่อปรับปรุงคำตอบนี่คือสิ่งที่เราทำเพื่อให้ได้งานนี้: - ตั้งค่าที่ฝากข้อมูล - ไม่สำคัญว่าชื่อคืออะไรและต้องอนุญาตสาธารณะ - ในที่เก็บข้อมูลคลิกคุณสมบัติและคลิกการโฮสต์เว็บไซต์แบบคงที่ คลิกเปลี่ยนเส้นทางคำขอทั้งหมดไปยังชื่อโฮสต์อื่นและเข้าสู่ไซต์ที่คุณต้องการรับส่งข้อมูล - คัดลอกจุดปลายของชื่อถังและไปที่โซนโฮสต์ในคอนโซล Route53 และเพิ่ม CNAME ด้วยนามแฝงไม่ใช่ไปยัง URL ที่คุณต้องเปลี่ยนเส้นทางจากและวางจุดสิ้นสุดที่ฝากข้อมูลเป็นค่าของมัน
NathanQ

4
ใช้งานได้กับคำขอ http เท่านั้นเนื่องจาก S3 ไม่รองรับ https คำขอที่https://example.comจะล้มเหลว
Harry King

ที่จะทำให้https://example.comการเปลี่ยนเส้นทางไปhttps://www.example.comที่คุณต้องเศร้าต่อการติดตั้งอีกชี้ CloudFront ในถังที่มีคง http www.example.comเปลี่ยนเส้นทางไปยัง มันมูลค่าการกล่าวขวัญว่าคุณจะต้องเพิ่มโดเมนยอดลงไปในCNAMEสนามในการกำหนดค่าของคุณ CloudFront
tuhaj

6

สำหรับนามแฝง DNS คุณเพียงแค่เพิ่ม CNAME หรือระเบียน A ใน DNS ดูคำตอบของฉันที่นี่: ฉันจะเปลี่ยน www เป็น non-www ใน Route53 ได้อย่างไร

สำหรับการเขียน URL ใหม่ (เช่นเดียวกับการเปลี่ยนเส้นทางลูกค้าไปยังที่อยู่อื่น) จากนั้นคุณต้องใช้รูปแบบของตรรกะการเขียน URL ซ้ำอีกครั้งที่เว็บเซิร์ฟเวอร์ มีหลายวิธีในการทำเช่นนี้และขึ้นอยู่กับชนิดของเว็บเซิร์ฟเวอร์ที่คุณใช้ ความนิยมมากที่สุดคือการใช้ mod_rewrite กับ apache ไซต์นี้เต็มไปด้วยคำถาม mod_rewrite ค้นหาน้อยควรได้รับสิ่งที่คุณต้องการ


ฉันใช้ CNAME บน bind9 srv ภายในหนึ่งชั่วโมงของฉัน แต่ผลลัพธ์ไม่เหมือนกับของ url rewrite เมื่อป้อน CNAME นี้ลงในแถบที่อยู่ของเบราว์เซอร์คุณจะได้รับ URL นั้นอย่างแน่นอน แต่จะไม่เปลี่ยนเป็น URL ที่ CNAME ชี้ไป ฉันใช้ apache mod_rewrite แล้วส่ง 301s เมื่อไม่มี www อุปสรรค
Kitet

3
คำตอบที่คุณเชื่อมโยงไปยังสำหรับการส่งไปยังwww.domain.com domain.comคำถามนี้เกี่ยวกับสิ่งตรงกันข้าม โซลูชันการใช้CNAMEหรือAบันทึกของคุณใช้สำหรับส่งdomain.comไปได้www.domain.comหรือไม่
Carl G

4

คุณสามารถทำได้โดยใช้ถัง s3 วางขั้นตอนด้านล่าง:

ขั้นตอน 1. สร้างที่ฝากข้อมูล s3

ขั้นตอนที่ 2 สร้างชุดข้อมูลเป็นเว็บไซต์แบบคงที่พร้อมเปลี่ยนเส้นทาง

ขั้นตอนที่ 3 แก้ไขรายการ AWS Route 53 สำหรับโดเมนที่ไม่ใช่ www

A - ที่อยู่ IPv4 -> นามแฝงใช่ -> เป้าหมายนามแฝง (เลือกจุดสิ้นสุดการฝากข้อมูล s3 จากดรอปดาวน์)

ขั้นตอนที่ 4. บันทึกชุดบันทึก


0

AWS Route53 ไม่สนับสนุนการเปลี่ยนเส้นทางสิ่งที่รู้จักกันในปัจจุบันว่าเป็นเรคคอร์ด APEX (โดเมนรูท) ไปยังชื่อโดเมนอื่นแม้ว่าพวกเขากำลังทำงานอยู่ที่โซลูชัน

ฉันทำได้โดยการสร้างระเบียน A (นามแฝง) ซึ่งชี้ไปที่โดเมนรูตของฉัน (devopsfolks.com) ไปยังที่อยู่ IP ของโซลูชันโฮสต์ WP ของฉัน ... และคำตอบคือใช่ถ้า IP เปลี่ยนคุณจะต้อง เพื่อเปลี่ยนนามแฝง อย่างไรก็ตามผู้ให้บริการรับประกันฉันว่า IP ได้รับการแก้ไขเว้นแต่พวกเขาจำเป็นต้องทำการกู้คืนระบบจากภัยพิบัติและเปลี่ยนฮาร์ดแวร์ซึ่งในกรณีนี้พวกเขาจะรวมพร็อกซีเข้าด้วยกันเพื่อทำการเปลี่ยนเส้นทางในขณะที่ให้ลูกค้า 45 วันเปลี่ยนการทำแผนที่


5
A ไม่ได้หมายถึงนามแฝงมันหมายถึงที่อยู่ และคุณสามารถทำการเปลี่ยนเส้นทางได้อย่างง่ายดายด้วยถนนหมายเลข 53 โดยใช้วิธีฝากข้อมูล S3 ที่แสดงด้านบน
Michael Hampton

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