อัปเดต: ฉันเพิ่มคำถามที่แก้ไขแล้วหลังจากเล่นไปพร้อมคำตอบสองข้อด้านล่าง
สวัสดี,
หากคุณกำลังอ่านสิ่งนี้คุณอาจคุ้นเคยกับ mod_proxy ของ Apache และฟังก์ชั่น ProxyPass เช่นเดียวกับคนอื่น ๆ ฉันมีปัญหาในการมีแอปพลิเคชันที่ฉันสามารถเข้าถึงได้จากนอกเครือข่ายภายในของเรา แต่แอปพลิเคชันนั้นเข้าถึงแอพภายในเครื่องอื่นบนเครื่องที่แตกต่างกันและเมื่อคุณเข้าใช้การตั้งค่านี้
ดังนั้นการตั้งค่าของฉันง่ายมากฉันมี:
Machine # 1 เปิดใช้งานการเข้าถึงระยะไกลฉันเข้าถึงผ่านชื่อโฮสต์และคายแอปพลิเคชัน PHP ที่ทำงานอยู่
Machine # 2 เป็นแอปพลิเคชั่นใหม่ที่ใช้ Django โดยใช้แบ็กเอนด์ที่แตกต่างกันโดยสิ้นเชิง (แม้จะตรวจสอบความถูกต้อง) มันถูกโฮสต์ไว้ในเครื่องแยกต่างหาก ในอินทราเน็ตของเราเราเข้าถึงผ่านชื่อโฮสต์ที่มีชื่ออย่างง่ายซึ่งโดยทั่วไปจะเชื่อมโยงกับ ip 192.168.0.101 ภายใน
ฉันได้ลองเล่นกับ ProxyPass เพื่อตั้งค่าตัวอย่างเช่นการส่งผ่าน / ใหม่จะส่งไปยังแอปพลิเคชันใหม่:
ProxyPass / ใหม่http://192.168.0.101/
ผลงานประเภทนี้จะได้รับการร้องขอไปยังแอปอื่น แต่หยุดเพราะแอพ Django ของฉันต้องการเปลี่ยนเส้นทางไปที่ / auth / login / ซึ่งมันจำไม่ได้ทันที ถ้าฉันปรับเปลี่ยน url ตัวเองให้เป็น foo.net/new/auth/login ฉันได้รับหน้าเข้าสู่ระบบของฉัน แต่คุณสามารถเดาได้ว่าการทำเช่นนี้ในระหว่างการเรียกดูนั้นไม่สะดวก
ดังนั้นฉันจะให้ ProxyPass ทำงานตามที่ต้องการได้อย่างไร ฉันจำเป็นต้องทำบางสิ่งกับ Apache หรือไม่ดังนั้นจึงควรเขียน / ใหม่ก่อนที่ url จะอยู่ในแอพอื่น ๆ หรือสิ่งนี้ที่ฉันควรแก้ไขภายในแอพ Django ของฉันหรือไม่
เคล็ดลับและคำแนะนำใด ๆ เช่นกันจะได้รับการชื่นชมอย่างมาก ขอบคุณที่สละเวลา