ใช้แอตทริบิวต์พร็อกซีของ Zimbra zimbraReverseProxyMailModeเพื่อเปลี่ยนเส้นทางการร้องขอเว็บจาก HTTP ไปยัง HTTPSตั้งค่านี้redirectในทุกโหนดของ Zimbra Proxy จากนั้นรีสตาร์ทบริการพร็อกซีและตรวจสอบว่าการตอบสนอง HTTP มีLocation: https://...ส่วนหัว ก่อนดำเนินการนี้ ตรวจสอบให้แน่ใจว่าชื่อโฮสต์ HTTPS สาธารณะสามารถระบุไปยังพร็อกซีหรือโหลดบาลานเซอร์ของคุณได้แล้ว และแสดงใบรับรองที่ถูกต้อง
การตั้งค่านี้ใช้สำหรับการเข้าถึงเว็บผ่าน Zimbra Proxy เท่านั้น ไม่ได้กำหนดค่า HTTPS สำหรับที่เก็บอีเมล ติดตั้งใบรับรอง หรือรับประกันว่าแอปพลิเคชันอีเมลทุกตัวจะปฏิบัติตามการเปลี่ยนเส้นทาง หากคุณต้องการปฏิเสธคำขอ HTTP โดยสิ้นเชิง โปรดพิจารณาใช้โหมดพร็อกซี HTTPS เท่านั้นแทนการเปลี่ยนเส้นทาง
ตัวอย่างโครงสร้างเครือข่าย: ชื่อโฮสต์อีเมลสาธารณะจะผ่านพร็อกซีเซิร์ฟเวอร์ก่อนที่คำขอจะถูกส่งต่อไปยังเมลบ็อกซ์เซิร์ฟเวอร์
เลือกพฤติกรรมที่เหมาะสมกับการใช้งานของคุณ
| โหมดพร็อกซีเมล | เกิดอะไรขึ้นกับ HTTP | ควรใช้เมื่อใด |
redirect | พร็อกซีจะส่งการตอบกลับ HTTP 302 กลับไปยังไคลเอ็นต์เพื่อเปลี่ยนเส้นทางไปยัง HTTPS | มีประโยชน์เมื่อผู้ใช้ยังคงป้อน URL แบบ HTTP และควรถูกส่งไปยังที่อยู่เว็บที่ปลอดภัย |
https | พร็อกซีทำหน้าที่ให้บริการเว็บไคลเอ็นต์ผ่าน HTTPS โดยไม่ได้ให้บริการการเปลี่ยนเส้นทางจาก HTTP ไปยัง HTTPS ในลักษณะเดียวกัน | ควรเลือกใช้วิธีนี้เมื่อลูกค้าไม่ควรเริ่มต้นเซสชันผ่าน HTTP |
bothหรือmixed | นี่คือโหมดพร็อกซีที่แยกจากกัน โดยมีพฤติกรรม HTTP/HTTPS ที่แตกต่างกัน | ใช้เฉพาะเมื่อการใช้งานนั้นต้องการพฤติกรรมที่ระบุไว้โดยเฉพาะเท่านั้น อย่าสันนิษฐานว่าการใช้งานนั้นจะบังคับใช้การเปลี่ยนเส้นทาง HTTP |
คำแนะนำด้านความปลอดภัยของ Zimbra เตือนว่า ไคลเอนต์บางตัว รวมถึงไคลเอนต์ ActiveSync อาจไม่ยอมรับการเปลี่ยนเส้นทาง HTTP และอาจส่งข้อมูลประจำตัวในคำขอเริ่มต้นที่ไม่ได้เข้ารหัส ดังนั้น การเปลี่ยนเส้นทางจึงมีประโยชน์สำหรับความสะดวกของเบราว์เซอร์ แต่ไม่ใช่สิ่งทดแทนการเข้าถึงผ่าน HTTPS เท่านั้น เมื่อไคลเอนต์ทั้งหมดต้องหลีกเลี่ยง HTTP หากคุณเลือกโหมดการเปลี่ยนเส้นทาง ให้ปกป้องตัวรับฟัง HTTP ที่ขอบเครือข่ายตามความเหมาะสม และแจ้ง URL HTTPS ให้ผู้ใช้ทราบ
ก่อนที่จะเปลี่ยนแปลงพฤติกรรมของพร็อกซี โปรดตรวจสอบให้แน่ใจว่าชื่อโฮสต์ของเว็บเมลสาธารณะเปิดใช้งานผ่าน HTTPS และแสดงตัวบ่งชี้ล็อกที่เชื่อถือได้
ก่อนที่คุณจะเปลี่ยนพร็อกซี
- ยืนยันขอบเขตการดำเนินการ ขั้นตอนนี้จะเปลี่ยนแปลงการรับส่งข้อมูลเว็บที่จัดการโดย Zimbra Proxy การติดตั้งใช้งานของคุณต้องเปิดใช้งานและใช้งานบริการพร็อกซีอยู่แล้ว
- ตรวจสอบเอนด์พอยต์สาธารณะชื่อโฮสต์ที่ผู้ใช้เข้าชม เช่น
mail.example.comต้องสามารถแปลงเป็นพร็อกซีสาธารณะหรือโหลดบาลานเซอร์ได้ HTTPS ต้องใช้งานได้แล้วบนชื่อโฮสต์และพอร์ตที่คาดไว้
- ตรวจสอบใบรับรองติดตั้งและตรวจสอบความถูกต้องของห่วงโซ่ใบรับรองสำหรับชื่อโฮสต์สาธารณะก่อนที่จะเปลี่ยนเส้นทางผู้ใช้ การเปลี่ยนเส้นทางไปยัง HTTPS ด้วยใบรับรองที่เสียหายหรือไม่ตรงกันจะทำให้ปัญหาเกิดขึ้นกับคำขอถัดไปเท่านั้น
- ระบุโหนดพร็อกซีทุกตัวในสภาพแวดล้อมที่มีการกระจายโหลด ให้จดบันทึกชื่อเซิร์ฟเวอร์ Zimbra ของเซิร์ฟเวอร์พร็อกซีแต่ละตัว การเปลี่ยนแปลงที่ใช้กับพร็อกซีตัวหนึ่งจะไม่กำหนดค่าพร็อกซีตัวอื่นโดยอัตโนมัติ
- วางแผนช่วงเวลาสำหรับการบำรุงรักษาหากจำเป็นการรีสตาร์ทบริการพร็อกซีอาจทำให้การเชื่อมต่อผ่านโหนดนั้นหยุดชะงักชั่วขณะ ในการใช้งานแบบสำรอง ให้ทำการเปลี่ยนแปลงทีละโหนดและตรวจสอบสถานะการทำงานของบริการ
ใช้บัญชี Zimbra สำหรับคำสั่งการดูแลระบบด้านล่าง แทนที่proxy1.example.comด้วยชื่อเซิร์ฟเวอร์ Zimbra ที่ถูกต้องสำหรับโหนดพร็อกซีของคุณ และแทนที่mail.example.comด้วยชื่อโฮสต์เว็บเมลสาธารณะ อย่าคัดลอกชื่อตัวอย่างลงในระบบใช้งานจริงโดยตรง
เปิดใช้งานการเปลี่ยนเส้นทาง HTTP ไปยัง HTTPS
1. บันทึกโหมดพร็อกซีปัจจุบัน
บนโฮสต์ Zimbra ที่มีเครื่องมือบรรทัดคำสั่ง ให้สอบถามการตั้งค่าปัจจุบันของพร็อกซี:
zmprov gs proxy1.example.com zimbraReverseProxyMailMode
บันทึกผลลัพธ์ไว้เพื่อเปรียบเทียบหลังจากการเปลี่ยนแปลง หรือคืนค่ากลับไปเป็นโหมดก่อนหน้าหากจำเป็นgsคำสั่งนี้อ่านค่าแอตทริบิวต์ของเซิร์ฟเวอร์ ส่วนคำสั่งmsที่ใช้ด้านล่างจะแก้ไขค่าเหล่านั้น
คำสั่งตัวอย่างนี้อ่านโหมดอีเมลปัจจุบันบนโหนดพร็อกซีหนึ่งตัว เซิร์ฟเวอร์ของคุณอาจแสดงค่าที่แตกต่างออกไป
2. ตั้งค่าโหมดพร็อกซีเป็นการเปลี่ยนเส้นทาง
ตั้งค่าแอตทริบิวต์บนอ็อบเจ็กต์เซิร์ฟเวอร์พร็อกซี:
zmprov ms proxy1.example.com zimbraReverseProxyMailMode redirect
เอกสารการกำหนดค่า Zimbra Proxy ระบุredirectโหมดสำหรับการเปลี่ยนเส้นทางคำขอ HTTP ไปยัง HTTPS ใช้คำสั่งเดียวกันกับโหนดพร็อกซีแต่ละตัวที่ยอมรับการรับส่งข้อมูลเว็บสาธารณะ หากตัวกระจายโหลดสามารถส่งคำขอ HTTP ไปยังพร็อกซีหลายตัว พร็อกซีที่เข้าเกณฑ์ทุกตัวจะต้องมีพฤติกรรมที่สอดคล้องกัน
อย่าสับสนการตั้งค่านี้กับzimbraMailModeเอกสารของ Zimbra ที่ระบุคุณลักษณะแยกต่างหากสำหรับการเชื่อมต่อเซิร์ฟเวอร์กล่องจดหมาย การเปลี่ยนโหมดจัดเก็บกล่องจดหมายไม่ใช่ขั้นตอนที่จะเปิดใช้งานการเปลี่ยนเส้นทาง HTTP ที่เบราว์เซอร์มองเห็นได้บนพร็อกซี
ตั้งค่าโหมดอีเมลของพร็อกซีเป็นredirect; ทำซ้ำขั้นตอนนี้กับชื่อพร็อกซีเซิร์ฟเวอร์แต่ละตัวในการใช้งานแบบหลายโหนด
3. นำการเปลี่ยนแปลงไปใช้กับพร็อกซีแต่ละตัว
รีสตาร์ทบริการพร็อกซีบนโหนดที่คุณเปลี่ยนแปลงการตั้งค่า:
zmproxyctl restart
จากนั้นตรวจสอบสถานะการให้บริการ:
zmproxyctl status
เรียกใช้คำสั่งรีสตาร์ทบนโหนดพร็อกซีแต่ละตัวทีละตัว หากคุณมีระบบสำรองหลายระดับ ปฏิบัติตามคำแนะนำการใช้งานของเวอร์ชัน Zimbra ที่ติดตั้งไว้ หากสภาพแวดล้อมของคุณมีกระบวนการรีเฟรชแคชการกำหนดค่าหรือกระบวนการจัดการบริการที่กำหนดไว้ หลีกเลี่ยงการแก้ไขไฟล์ Nginx ที่สร้างขึ้นโดยตรง: Zimbra จัดการการกำหนดค่าพร็อกซีจากการตั้งค่าเซิร์ฟเวอร์ และการแก้ไขด้วยตนเองอาจถูกเขียนทับได้
ตัวอย่างเหล่านี้อ้างอิงจากคู่มือผู้ดูแลระบบ Zimbra Daffodil v10 และเอกสารเกี่ยวกับพร็อกซี/ความปลอดภัยที่เผยแพร่โดย Zimbra เวอร์ชัน ZCS เก่ากว่าอาจมีรูปแบบการบรรจุหรือขั้นตอนที่รองรับแตกต่างกัน ดังนั้นโปรดตรวจสอบคู่มือผู้ดูแลระบบสำหรับเวอร์ชันที่ติดตั้งในสภาพแวดล้อมของคุณก่อนทำการเปลี่ยนแปลงใดๆ
ตัวอย่างลำดับการทำงานนี้จะรีเฟรชข้อมูลการกำหนดค่าและรีสตาร์ทพร็อกซี โปรดปฏิบัติตามขั้นตอนที่รองรับสำหรับเวอร์ชันที่คุณติดตั้ง
ตรวจสอบการเปลี่ยนเส้นทางและการตอบสนอง HTTPS
4. ตรวจสอบส่วนหัวของการตอบสนอง HTTP
จากระบบที่สามารถเข้าถึงปลายทางสาธารณะได้ ให้ร้องขอ URL HTTP โดยไม่ต้องทำการเปลี่ยนเส้นทาง:
curl -sS -D - -o /dev/null http://mail.example.com/
ในโหมดการเปลี่ยนเส้นทาง ให้มองหาการตอบสนอง 302 และLocationส่วนหัวที่มีค่าขึ้นต้นด้วยhttps://mail.example.com/ส่วนหัวและการจัดการสถานะที่แน่นอนอาจแตกต่างกันไปตามเวอร์ชัน Zimbra เส้นทาง และตัวโหลดบาลานเซอร์หรือเว็บเกตเวย์ใดๆ ที่อยู่ด้านหน้าพร็อกซี ภาพหน้าจอต่อไปนี้เป็นตัวอย่างภาพประกอบของรูปแบบส่วนหัวที่คาดหวัง ไม่ใช่การทดสอบที่บันทึกจากเซิร์ฟเวอร์จริง
รูปแบบการเปลี่ยนเส้นทางที่คาดหวัง: HTTP จะส่งการตอบกลับ 302 และชี้เบราว์เซอร์ไปยังชื่อโฮสต์ HTTPS ส่วนหัวการตอบกลับและวันที่จริงจะแตกต่างออกไป
5. ตรวจสอบ HTTPS และใบรับรอง
ส่งคำขอแยกต่างหากไปยัง URL ที่ปลอดภัย:
curl -sS -D - -o /dev/null https://mail.example.com/
ตรวจสอบให้แน่ใจว่าใบรับรอง TLS นั้นถูกต้องสำหรับชื่อโฮสต์ และการตอบสนองเป็นหน้าเว็บเมลหรือการเปลี่ยนเส้นทางไปยังแอปพลิเคชันที่คาดหวังไว้ อย่าใช้curl -kเพื่อหลีกเลี่ยงการตรวจสอบใบรับรอง เพราะจะซ่อนปัญหาใบรับรองที่ผู้ใช้จะเห็น หน้าเข้าสู่ระบบอาจส่งคืนการเปลี่ยนเส้นทางหรือสถานะอื่นที่ไม่ใช่ 200 ขึ้นอยู่กับเวอร์ชันของผลิตภัณฑ์และขั้นตอนการตรวจสอบสิทธิ์ ดังนั้นควรตรวจสอบการตอบสนองร่วมกับการตรวจสอบเบราว์เซอร์ด้วย
ตัวอย่างนี้แสดงการเข้าถึงบริการผ่าน HTTPS โดยใช้ใบรับรองที่ตรงกับชื่อโฮสต์ โปรดตรวจสอบห่วงโซ่ใบรับรองจริงบนปลายทางของคุณ
6. ทดสอบในเบราว์เซอร์
เปิดhttp://mail.example.comในเบราว์เซอร์ใหม่ ที่อยู่เว็บควรเปลี่ยนเป็น URL แบบ HTTPS ก่อนที่คุณจะป้อนข้อมูลประจำตัว จากนั้นเปิด URL แบบ HTTPS โดยตรงและยืนยันว่าหน้าเข้าสู่ระบบโหลดโดยไม่มีคำเตือนเกี่ยวกับใบรับรอง ทำซ้ำขั้นตอนนี้จากภายนอกเครือข่ายภายในของคุณ หาก DNS สาธารณะ กฎไฟร์วอลล์ หรือตัวกระจายโหลดอาจทำให้ผลลัพธ์แตกต่างกัน
อย่าทดสอบโดยการป้อนรหัสผ่านจริงในขณะที่แถบที่อยู่ยังแสดง HTTP อยู่ หากการเปลี่ยนเส้นทางล้มเหลว ให้หยุดและแก้ไขการตั้งค่าพร็อกซี เอดจ์ หรือใบรับรองก่อน
ตรวจสอบเบราว์เซอร์ครั้งสุดท้าย: หน้าเข้าสู่ระบบแสดงผลที่ชื่อโฮสต์ HTTPS หลังจากการเปลี่ยนเส้นทาง
คู่มืออ้างอิงฉบับย่อสำหรับการแก้ไขปัญหา
| อาการ | สิ่งที่ต้องตรวจสอบ |
| HTTP ยังคงอยู่ที่ URL เดิม | ตรวจสอบzimbraReverseProxyMailModeพร็อกซีที่จัดการคำขอ ตรวจสอบว่าโหนดที่ใช้ในการกระจายโหลดทุกโหนดมีค่าตามที่ต้องการและได้รับการรีสตาร์ทแล้ว |
| ส่วนหัว Location ใช้ชื่อโฮสต์หรือพอร์ตที่ไม่ถูกต้อง | ตรวจสอบ URL สาธารณะ กฎของรีเวิร์สพร็อกซีหรือโหลดบาลานเซอร์ และการตั้งค่าชื่อโฮสต์/โปรโตคอล/พอร์ตของบริการสาธารณะของ Zimbra ที่ใช้ในการสร้างลิงก์สาธารณะ |
| เบราว์เซอร์แจ้งเตือนเกี่ยวกับใบรับรอง | ตรวจสอบว่าได้ติดตั้งใบรับรองที่จุดสิ้นสุด TLS แล้ว ครอบคลุมชื่อโฮสต์สาธารณะ และมีใบรับรองในห่วงโซ่ที่จำเป็นครบถ้วน |
| ผู้ใช้จะเห็นการวนลูปการเปลี่ยนเส้นทาง | ตรวจสอบว่าโหลดบาลานเซอร์ฝั่งฟรอนต์เอนด์ยุติการเชื่อมต่อ TLS แต่ส่งต่อ HTTP ไปยัง Zimbra หรือไม่ และยืนยันว่าพร็อกซีสามารถระบุโปรโตคอลคำขอภายนอกได้อย่างถูกต้อง ปรับการตั้งค่า TLS และการส่งต่อให้ตรงกันที่ขอบเครือข่าย |
| โปรแกรมรับส่งอีเมลยังคงส่งข้อมูลผ่าน HTTP | อย่าคิดว่าไคลเอ็นต์จะปฏิบัติตามรหัส 302 เสมอไป ควรเลือกใช้การเข้าถึงผ่าน HTTPS เท่านั้นสำหรับไคลเอ็นต์ที่ไม่ควรส่งข้อมูลประจำตัวผ่าน HTTP และกำหนดค่าไคลเอ็นต์แต่ละตัวด้วย URL ของเซิร์ฟเวอร์ HTTPS |
รายการตรวจสอบการใช้งาน
- URL HTTPS สาธารณะจะแปลงเป็นพร็อกซีหรือโหลดบาลานเซอร์ที่ต้องการ
- ใบรับรอง TLS มีความถูกต้องสำหรับชื่อโฮสต์สาธารณะและได้รับการยอมรับจากไคลเอ็นต์
zimbraReverseProxyMailModeตั้งค่านี้ไว้redirectในโหนดพร็อกซีที่เกี่ยวข้องทุกโหนด- บริการพร็อกซีได้รับการรีสตาร์ทตามขั้นตอนที่ระบุไว้ในเวอร์ชัน Zimbra ที่ติดตั้งไว้
- คำขอ HTTP จะส่ง
Locationส่วนหัว HTTPS กลับมา และคำขอ HTTPS โดยตรงจะตรวจสอบความถูกต้องของใบรับรอง - ผู้ใช้และโปรแกรมอีเมลได้รับการตั้งค่าให้ใช้ HTTPS แล้ว แต่โหมดการเปลี่ยนเส้นทางไม่ได้ถือเป็นหลักประกันว่าทุกโปรแกรมจะปกป้องคำขอแรกของตนได้เสมอไป
เอกสารอ้างอิงอย่างเป็นทางการ