ฉันมีอัปสตรีมจำนวนหนึ่งที่ฉันเลือกจากชุดของส่วนหัว แต่ฉันพบหลังจากเพิ่ม https://github.com/GUI/nginx-upstream-dynamic-servers ของฉัน $ปลายทาง
ตัวแปรกำลังถูกตีความเป็น URL ไม่ใช่อัพสตรีม นี่คือตัวอย่าง:
http {
ต้นน้ำ LegacyService {
เซิร์ฟเวอร์ my.server.location.com:443 max_fails=0 แก้ไข;
}
บริการใหม่อัปสตรีม {
เซิร์ฟเวอร์ myNew.server.location.com:443 weight=100 max_fails=0 แก้ไข;
}
...
แผนที่ $http_some_header $ปลายทาง {
LegacyService เริ่มต้น;
"~marker" บริการใหม่;
}
เซิร์ฟเวอร์ {
ฟัง localhost:8080;
#การตั้งค่าตามปกติจำนวนมาก
ที่ตั้ง / {
proxy_pass https://$ปลายทาง;
}
}
}
การกำหนดค่านี้ทำให้ฉันเกิดข้อผิดพลาดมากมาย เนื่องจากตอนนี้ปลายทางของฉันถูกตีความเป็น URL แทนที่จะเป็นชื่อของอัปสตรีม:
2021/08/09 11:05:56 [ข้อผิดพลาด] 15326#0: *5761 ไม่มีสตรีมสดในขณะที่เชื่อมต่อกับอัปสตรีม ไคลเอ็นต์: 10.1.1.5, RequestID: 6ef3b58fc95e07b083e6186df62ba15d เซิร์ฟเวอร์: my.server.com คำขอ: "POST / HTTP/1.1", อัปสตรีม: "https://LegacyService/", โฮสต์: "my.server.com"
ฉันต้องการทำความเข้าใจว่าเหตุใดการเปลี่ยนแปลงนี้จึงเกิดขึ้น และดูว่ามีสิ่งใดที่สามารถทำได้หรือไม่ ฉันอ่านข้อความแสดงข้อผิดพลาดผิดหรือเปล่า