ฉันเรียกใช้คอนเทนเนอร์นักเทียบท่าที่มีชื่อโฮสต์:
web1.local web2.local web3.local
การกำหนดเส้นทางไปยังสิ่งเหล่านี้ทำได้ตามชื่อโฮสต์โดย nginx ฉันมีพร็อกซีที่หน้าการตั้งค่านี้ (บนเครื่องที่แตกต่างกันที่เชื่อมต่อกับอินเทอร์เน็ต) ที่ฉันกำหนด upstream เป็น:
upstream main {
server web1.local:80;
server web2.local:80;
server web3.local:80;
}
และคำอธิบายโฮสต์เสมือนจริง:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://main;
}
}
ขณะนี้เนื่องจากคอนเทนเนอร์ได้รับชื่อโฮสต์ "main" แทน "web1.local" จึงไม่ตอบสนองต่อคำขออย่างถูกต้อง
คำถาม: ฉันจะบอก nginx ให้ส่งชื่อของเซิร์ฟเวอร์ upstream แทนที่จะเป็นชื่อของกลุ่ม upstream ของเซิร์ฟเวอร์ใน Host: header เมื่อร้องขอการมอบฉันทะได้อย่างไร