ขอให้เป็นวันที่ดี! เรามีพร็อกซีที่ใช้ nginx พร้อมการกำหนดค่าถัดไป:
เซิร์ฟเวอร์ {
พร็อกซี server_name;
ฟัง 80;
underscores_in_headers บน;
access_log /var/log/nginx/access.log bodylog;
ที่ตั้ง / {
proxy_pass http://X.X.X.X:Y;
}
}
แบ็กเอนด์เป็นแอปพลิเคชันที่มีการเข้าถึงหน้าแรกเพื่อเข้าสู่ระบบเพื่อค้นหาหลังจากนั้น ดังนั้นปัญหาคือ:
เมื่อเราปรับแต่งพร็อกซีเป็นที่อยู่ IP ของแบ็กเอนด์ (proxy_pass http://X.X.X.X:ย) เราได้รับคำขอทั้งหมดในเบราว์เซอร์หลังจากเข้าสู่ระบบในหน้าเริ่มต้นผ่าน nginx proxy-server และเราสามารถเข้าสู่ระบบ access.log
แต่ถ้าเราต้องการใช้นี่ https://address.com สำหรับแอปพลิเคชันเดียวกันเช่นนั้น
ที่ตั้ง / {
proxy_pass https://address.com;
ตัวแก้ไข 127.0.0.11;
}
เราได้รับเพียงการโหลดหน้าเข้าสู่ระบบครั้งแรกเท่านั้นที่ต้องผ่านพร็อกซี nginx แต่การดำเนินการอื่นๆ ทั้งหมดที่นั่น (เข้าสู่ระบบเอง ค้นหาหลังจากนั้น ฯลฯ) ดำเนินการโดยตรงบนโดเมน https://address.com (ไม่ผ่านพร็อกซีเซิร์ฟเวอร์) ดังนั้นจึงไม่สามารถเข้าสู่ระบบไฟล์ nginx-proxy access.log ได้ แต่เราต้องการสิ่งนี้!
มีการเปลี่ยนแปลงพฤติกรรมเช่นนี้กับ proxy_pass เป็น IP หรือไม่
ข้อมูลเพิ่มเติม: แอปพลิเคชันปรับใช้ในคลัสเตอร์ kube ดังนั้นเมื่อฉันพยายามเข้าถึงคำขอ IP ให้ไปที่ kube-service สำหรับแอปประเภท LB แล้วไปที่แอป เมื่อฉันพยายามเข้าถึงชื่อ DNS ด้วยคำขอ https ให้ไปที่ nginx-ingress-controller ในคลัสเตอร์ จากนั้นไปที่ kube-service สำหรับแอพ แล้วไปที่แอพ