ฉันต้องการให้บริการ html แบบคงที่เป็นบริการด้วย Docker และ nginx เป็นพร็อกซีย้อนกลับ (นอกจากนี้ยังมีแบ็กเอนด์ python และคอนเทนเนอร์ mysql ซึ่งฉันไม่รวมไว้ที่นี่)
ฉันมีดังต่อไปนี้ นักเทียบท่าเขียน
ไฟล์:
รุ่น: "3.7"
ส่วนหน้า:
สร้าง: ./ส่วนหน้า
container_name: ส่วนหน้า
รีสตาร์ท: เสมอ
พอร์ต:
- "5000:80"
จิงซ์:
สร้าง: ./nginx
ชื่อคอนเทนเนอร์: nginx
รีสตาร์ท: เสมอ
พอร์ต:
- "80:80"
Dockerfile สำหรับส่วนหน้า:
จาก nginx:อัลไพน์
สำเนา /usr/share/nginx/html
nginx.conf
ในของฉันฉันทำสิ่งนี้:
เซิร์ฟเวอร์ {
ฟัง 80;
ตำแหน่ง / ส่วนหน้า {
proxy_pass http://frontend:5000/;
#proxy_pass http://frontend:5000; -> ลองสิ่งนี้ด้วย
}
}
ทุกอย่างสร้างได้ดี แต่ proxy_pass
ไม่ทำงานตามที่คาดไว้
ฉันจะเข้าถึงแอปของฉันได้ที่ไหน:
http://localhost:5000/
ที่ต้องการ:
http://localhost/frontend
เกิดข้อผิดพลาดเมื่อฉันพยายามเข้าถึงเส้นทางหลัง:
/frontend/ HTTP/1.1", อัปสตรีม: "http://172.27.0.2:3000/frontend/", โฮสต์: "localhost"
nginx | 172.27.0.1 - - [27/ม.ค./2022:19:11:07 +0000] "GET /frontend/ HTTP/1.1" 502 559 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML เช่น Gecko) Chrome/97.0.4692.99 Safari/537.36" "-"
ฉันทำอะไรผิด?