ฉันดิ้นรนมาสามวันแล้วสำหรับการกำหนดค่า nginx ของฉัน ดังนั้นอาจมีคนช่วยได้...
สถานการณ์ของฉันตอนนี้:
nginx reverse proxy <--> หนึ่ง VM กับหนึ่ง DOCKER ซึ่งโฮสต์หลายบริการบนพอร์ตต่างๆ (9000 ถึง 9005)
ถ้าฉันทดสอบนักเทียบท่าที่สร้างขึ้นในเครื่องด้วย 127.0.0.1 url แทนที่จะเป็นสาธารณสมบัติทุกอย่างทำงานได้ดี หากฉันพยายามรันด้วย https หรือแม้แต่ https บน nginx ฉันล้มเหลว
ความล้มเหลวหมายความว่าฉันสามารถเชื่อมต่อกับบริการนักเทียบท่า 9001 (ซึ่งเป็นบริการเข้าสู่ระบบ) ฉันลงชื่อเข้าใช้แอพและกว่าจะมีการตอบสนองอีกครั้งผ่าน http และคำขอนี้ไม่ผ่าน nginx
การกำหนดค่าบริการของฉันบน VM/Docker
บริการ 9001 มีคำนำหน้า /auth
บริการ 9002 มีคำนำหน้า /dashboard
คำขอมีลักษณะดังนี้: http://sub.domain/auth หรือ http://sub.domain/dashboard
บน Nginx ฉันกำลังค้นหาคำนำหน้านี้และจึงสร้างเส้นทางไปที่
บริการที่ถูกต้องเช่น:
เซิร์ฟเวอร์ {
ฟัง 0.0.0.0:80;
server_name โดเมนย่อย;
ตำแหน่ง /auth/ {
proxy_pass http://172.18.1.25:9001;
proxy_read_timeout 300 วินาที;
#ส่วนหัวพร็อกซี
proxy_set_header โฮสต์ $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
proxy_set_header X-Content-Type-Options nosniff;
proxy_set_header X-Frame-Options SAMEORIGIN;
}
ตำแหน่ง /แดชบอร์ด/ {
proxy_pass http://172.18.1.25:9002;
proxy_read_timeout 300 วินาที;
#ส่วนหัวพร็อกซี
proxy_set_header โฮสต์ $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
proxy_set_header X-Content-Type-Options nosniff;
proxy_set_header X-Frame-Options SAMEORIGIN;
}
ตำแหน่ง /อุปกรณ์/ {
proxy_pass http://172.18.1.25:9005;
proxy_read_timeout 300 วินาที;
#ส่วนหัวพร็อกซี
proxy_set_header โฮสต์ $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
proxy_set_header X-Content-Type-Options nosniff;
proxy_set_header X-Frame-Options SAMEORIGIN;
}
}
** อัปเดต **
Testet ที่ไม่มี nginx (เปิดพอร์ตโดยตรงไปยังพอร์ต vm) ปัญหาเดียวกัน
-> การทดสอบครั้งต่อไปโดยไม่มีนักเทียบท่า เรียกใช้บริการโดยตรงบน vm ของฉัน...รอดำเนินการ