Segment Route
เวิร์กโฟลว์

เส้นทาง HTTP Proxy จากไฟล์แผนสู่ผลลัพธ์ที่ตรวจสอบแล้ว

03
การตั้งค่า Proxy

ตั้งค่าเส้นทางสำหรับโดเมนเดียว

การตั้งค่า reverse proxy พื้นฐานต้องการการตัดสินใจเพียงสามอย่าง และคู่มือนี้เสนอความช่วยเหลือในแต่ละด้าน: ชื่อโฮสต์ เส้นทาง และแบ็กเอนด์ การค้นหา http proxy อาจหมายถึง forward หรือ reverse proxy และที่นี่คุณวางแผนและตรวจสอบเซิร์ฟเวอร์ที่คุณรันเอง ตัวเอเจนต์ไม่เคยตัดสินใจแทนคุณว่าโฮสต์หรือเส้นทางใดถูกต้อง มันเขียนในสิ่งที่คุณขอ แสดงการเปลี่ยนแปลงแต่ละครั้งเป็น diff และรายงานผลลัพธ์จริงของคำสั่งทุกคำสั่ง เพื่อให้คุณเห็นผลกระทบของการตัดสินใจแต่ละครั้งก่อนดำเนินการต่อไป ทำงานตามขั้นตอนสี่ข้อด้านล่างตามลำดับ และ treat routing plan เป็นเอกสารที่คุณและเอเจนต์ปฏิบัติตามตั้งแต่คำสั่งแรกจนถึงคำขอสุดท้าย

01

เปิดโฟลเดอร์

เริ่ม Segment Route และเปิดโฟลเดอร์งานที่เก็บ configuration และไฟล์เส้นทางของคุณ เครื่องมือไฟล์ทำงานในโฟลเดอร์นี้ ดังนั้นโฟลเดอร์ที่สะอาดที่มีเฉพาะไฟล์ที่เกี่ยวข้องกับโดเมนนี้จะทำให้ diff สั้นและผลการค้นหาอ่านง่าย หากไฟล์จริงของคุณอยู่บนเซิร์ฟเวอร์ที่คุณเป็นเจ้าของ ให้คัดลอกไฟล์เหล่านั้นลงในโฟลเดอร์ก่อน หรือเลือกสภาพแวดล้อม SSH สำหรับคำสั่งและเก็บแผนไว้ในโฟลเดอร์

02

เขียนแผน

ขอให้อาเจนต์เขียน routing-plan.txt พร้อมเส้นทางของคุณ การ redirect และ status code ที่คุณคาดหวังสำหรับแต่ละรายการ แผนเป็นข้อความธรรมดา คุณสามารถแก้ไขได้ และเป็นรายการที่คุณเปรียบเทียบผลลัพธ์จริงกับผลลัพธ์สุดท้าย กำหนดความคาดหวังหนึ่งรายการสำหรับแต่ละเส้นทางและการ redirect ทุกครั้ง เพื่อให้ไม่มีกฎใดขาดการตรวจสอบ เก็บไฟล์ให้สั้นและอ่านง่าย

03

แก้ไขและทดสอบ

อนุมัติ diff สำหรับแต่ละกฎ จากนั้นให้ Shell รันคำสั่งทดสอบ config ของคุณก่อนการ reload ใดๆ ในโหมด Ask first ตัวเอเจนต์จะหยุดก่อนการเปลี่ยนแปลงทุกครั้ง และการ์ดสำหรับการทดสอบจะแสดง exit code จริงและผลลัพธ์เต็มรูปแบบ อย่าทำการ reload ก่อนที่การทดสอบจะผ่าน และเก็บ backup ของไฟล์ก่อนหน้าไว้จนกว่าพฤติกรรมใหม่จะได้รับการยืนยัน

04

ตรวจสอบผลลัพธ์

เรียกใช้แต่ละที่อยู่ด้วยคำสั่ง request ของคุณ อ่าน status code และ header Location และเปรียบเทียบพวกมันกับแผนของคุณ หากค่าใดค่าหนึ่งแตกต่าง ให้กู้คืน backup ทำการ reload และเปลี่ยนกฎหนึ่งรายการอีกครั้ง ทำซ้ำจนกว่าความคาดหวังทุกประการในแผนจะตรงกับผลลัพธ์ จากนั้นเก็บแผนสุดท้ายเป็นบันทึกว่า configuration ควรทำอะไร

แผนเส้นทางในรูปแบบข้อความธรรมดา

routing-plan.txt
# routing plan for my own domain
# one line per rule, written before any change
route 1: host app, path /api, goes to service api
route 2: host app, path /, goes to service web
route 3: host admin, path /, goes to service admin
redirect 1: old page to new page, code 301
redirect 2: www host to bare host, code 301
redirect 3: http to https, code 301
# status to expect after the change
expect 1: app path /api answers with a success code
expect 2: old page answers 301 and gives the new address
# keep the old configuration file as a backup
# end of routing plan

แต่ละบรรคคือกฎหนึ่งข้อหรือความคาดหวังหนึ่งข้อ เขียนไว้ก่อน แผนช่วยให้คุณมีสิ่งที่เปรียบเทียบ status codes จริงกับผลลัพธ์หลังจากการเปลี่ยนแปลงทุกครั้ง และการเปลี่ยนแปลงที่ทำลายความคาดหวังนั้นง่ายต่อการตรวจจับ โฮสต์ เส้นทาง และบริการเป็นเพียงตัวอย่างเท่านั้น ให้แทนที่ด้วยของคุณเอง และเก็บแผนไว้ข้างๆ configuration ที่มันอธิบาย คำว่า redirect พร้อม code เพียงพอสำหรับตัวเอเจนต์ที่จะรู้ว่าต้องเขียนอะไร

ลำดับที่ปลอดภัยสำหรับการเปลี่ยนแปลง http proxy ทุกครั้ง

ค้นหาไฟล์ที่เก็บกฎของคุณ

คู่มือ self hosting นี้พร้อม reverse proxy server ด้านหน้าบริการของคุณ เริ่มต้นด้วยการค้นหาว่ากฎอยู่ที่ไหน list_dir แสดงโฟลเดอร์งาน glob แสดงรายการไฟล์ที่ดูเหมือนรายการเส้นทาง และ grep ค้นหาพวกมันด้วยคำว่า route และ redirect ผลลัพธ์คือรายการสั้นๆ ที่มีชื่อไฟล์และหมายเลขบรรค ยังไม่มีการเปลี่ยนแปลงใดๆ เลือกไฟล์ที่เก็บกฎสำหรับโดเมนของคุณ เปิดไฟล์ด้วย read_file และเรียกใช้แต่ละที่อยู่ด้วยคำสั่ง request ของคุณเพื่อบันทึก status code ปัจจุบัน ทบทวนรายการในโหมด Plan only หากคุณต้องการให้เอเจนต์เสนอลำดับการทำงานก่อน และบันทึกโน้ตไว้ข้างๆ routing plan ของคุณเพื่อให้ status code แรกๆ ถูกบันทึกไว้

แก้ไขทีละกฎ

เปลี่ยนกฎทีละกฎ เพราะ diff เล็กนั้นง่ายต่อการตัดสิน edit_file อ่านไฟล์ เสนอบรรคใหม่และแสดง diff พร้อมบรรคที่เพิ่มและลบ เมื่อมีคำถามเกี่ยวกับกฎ redirect ของ subdomain ตัวเอเจนต์จะแสดงกฎถัดจาก code ที่มันควรส่งคืน และคุณเป็นผู้ตัดสินใจ ในโหมด Ask first จะไม่มีการบันทึกจนกว่าคุณจะยอมรับ Auto-run จะบันทึกทันที ดังนั้นใช้มันเฉพาะกับไฟล์ที่คุณสามารถกู้คืนได้ เก็บไฟล์เก่าเป็น backup อนุมัติ diff และดำเนินการไปยังขั้นตอนถัดไป ปฏิเสธ diff หากบรรคใดทำให้คุณประหลาดใจ และขอการเปลี่ยนแปลงที่เล็กลง

ทดสอบก่อนทำการ reload

การ reload ด้วยไฟล์ที่เสียหายอาจทำให้ไซต์ที่ทำงานได้หยุดทำงาน ดังนั้นให้ทดสอบก่อน Shell รันคำสั่งทดสอบ config ของคุณ และความสำเร็จถูกตัดสินโดย exit code จริง: code ที่ผ่านหมายความว่าไฟล์ถูก parse แล้ว สิ่งอื่นหมายความว่าคุณยังคงใช้ configuration เก่า การ์ดจะขยายไปยังผลลัพธ์เต็มรูปแบบ รวมถึงหมายเลขบรรคของความผิดพลาด แก้ไขด้วย diff เล็กอีกครั้ง หลังจากทดสอบผ่าน ให้ reload เรียกใช้อีกครั้งและเปรียบเทียบ http status codes ของการรันเก่าและการรันใหม่ ทบทวนผลลัพธ์ด้วยตนเอง เนื่องจากทดสอบผ่านหมายความว่าเฉพาะไวยากรณ์ถูกต้องเท่านั้น ไม่ได้หมายความว่าเส้นทางถูกต้อง

อ่าน codes และ rollback

Status codes ถูกจัดกลุ่มตามหลักแรก: 2xx สำเร็จ, 3xx การเปลี่ยนเส้นทาง, 4xx ข้อผิดพลาดไคลเอนต์, 5xx ข้อผิดพลาดเซิร์ฟเวอร์ สำหรับ proxy, 502 หมายถึงคำตอบที่ไม่ถูกต้องจากแบ็กเอนด์, 503 หมายถึงบริการไม่พร้อมใช้งาน, 504 หมายถึงแบ็กเอนด์ตอบช้าเกินไป และ 404 หมายถึงไม่พบ http_get ดึงหน้าเว็บหนึ่งหน้าของบริการของคุณ และคำสั่ง request ของคุณแสดงที่อยู่ใหม่ของการ redirect หาก code แตกต่างจากแผนของคุณ ให้กู้คืนไฟล์ backup ทำการ reload และทดสอบอีกครั้ง จากนั้นเปลี่ยนแผนหรือกฎและทำซ้ำ กฎหนึ่งกฎต่อรอบ แผนเส้นทางสั้นๆ และไฟล์ backup คือสิ่งที่จำเป็นสำหรับการ rollback ทั้งหมด

Segment Route สำหรับ Windows

วางแผนการเปลี่ยนแปลงเส้นทางครั้งถัดไปกับเอเจนต์

ดาวน์โหลด Segment Route ↗