ฉันต้องอธิบายปัญหา ฉันต้องการผลลัพธ์ของเนื้อหา PATH ของ nginx reverse proxy เพื่อส่งไปยังโดเมนอื่นที่อยู่บนเซิร์ฟเวอร์ nginx อื่น
คำอธิบายที่ชัดเจน:
ฉันมีเซิร์ฟเวอร์ linux สองตัว "A" และ "B" บนเซิร์ฟเวอร์แรก "A" ฉันมี nginx ที่เหมือนนักเทียบท่าพร้อมการกำหนดค่าต่อไปนี้:
เซิร์ฟเวอร์ {
ฟัง 80;
ฟัง [::]:80;
server_name example.com;
ที่ตั้ง / {
เขียนใหม่ ^ https://$host$request_uri? ถาวร;
}
}
เซิร์ฟเวอร์ {
ฟัง 443 ssl http2;
ฟัง [::]:443 ssl http2;
server_name example.com;
ssl_certificate /etc/certs/x.pem;
ssl_certificate_key /etc/certs/x.key;
ssl_trusted_certificate /etc/certs/x.crt;
ที่ตั้ง / {
proxy_set_header โฮสต์ $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://docker-api;
proxy_read_timeout 90;
}
ตำแหน่ง / เส้นทาง {
...ช่วย!!
}
}
**เซิร์ฟเวอร์ "A" นี้ให้บริการ URL example.com อย่างถูกต้องโดยมีพร็อกซีส่งผ่านเนื้อหาของนักเทียบท่าที่เรียกว่า "นักเทียบท่า-api" ปัญหามาถึงแล้ว: ฉันต้องการเปลี่ยนเส้นทางเนื้อหาทั้งหมดที่มีให้ในเส้นทาง "example.com/path" ไปยังโดเมนอื่นชื่อ "test.com" ซึ่งอยู่ในเซิร์ฟเวอร์ "B"
เซิร์ฟเวอร์ "B" มี nginx อื่นพร้อมการกำหนดค่าเริ่มต้น:**
ฟัง 80;
ฟัง [::]:80;
server_name test.com;
ที่ตั้ง / {
เขียนใหม่ ^ https://$host$request_uri? ถาวร;
}
}
เซิร์ฟเวอร์ {
ฟัง 443 ssl http2;
ฟัง [::]:443 ssl http2;
server_name test.com;
ssl_certificate /etc/certs/x.pem;
ssl_certificate_key /etc/certs/x.key;
ssl_trusted_certificate /etc/certs/x.crt;
ที่ตั้ง / {
}
}
ฉันจะทำให้เนื้อหาที่ให้บริการบนเซิร์ฟเวอร์ "A" ในเส้นทาง "example.com/path" มาถึง URL "test.com" อย่างสมบูรณ์และสามารถแสดงผ่าน URL สุดท้ายนี้ได้อย่างไร
ฉันหวังว่าจะมีคนช่วยฉันได้ ขอบคุณล่วงหน้า