ฉันใช้ npm(ตัวจัดการพร็อกซี Nginx) เพื่อจัดการการกำหนดค่า nginx ของฉัน
npm ได้สร้างบล็อกตำแหน่งนี้:
ตำแหน่ง ~* ^/นักเทียบท่า-compose-ui/?(.*)$ {
ตั้ง $upstream http://docker_compose_ui:5000/$1$request_uri;
proxy_set_header โฮสต์ $host;
proxy_set_header X-Forwarded-Scheme $scheme;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-ส่งต่อ-สำหรับ $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass $อัพสตรีม;
proxy_set_header อัพเกรด $http_upgrade;
proxy_set_header การเชื่อมต่อ $http_connection;
proxy_http_version 1.1;
add_header X-testing "การจับคู่: $1, r_uri: $request_uri";
}
ตรงกับ URL นี้: http://192.168.1.148/docker-compose-ui/
แต่ไม่ตรงกับเนื้อหาของหน้าใด ๆ ดังนั้นหน้าจึงโหลดโดยไม่มีรูปแบบการทำงานหรือจาวาสคริปต์
ฉันเห็นส่วนหัวที่ฉันเพิ่ม: การทดสอบ X: การจับคู่: , r_uri: /docker-compose-ui/
แต่ไม่ใช่ในทรัพย์สินใด ๆ ถ้าฉันลอง http://192.168.1.148/docker-compose-ui/scripts/directives/actions.js
โดยตรงทั้งหมดที่ฉันได้รับคือ ข้อผิดพลาดเกตเวย์ 502 ไม่ถูกต้อง.
ฉันได้ลองทำหลายสิ่งหลายอย่าง แม้กระทั่งเพิ่มตำแหน่งที่ตั้งเพื่อให้ตรงกับเนื้อหา:
~* ^/docker-compose-ui/(images/|img/|scripts/|script/|javascript/|js/|bower_components/|css/|stylesheets/|flash/|media/|static/|robots.txt |humans.txt|favicon.ico)
แต่ไม่มีอะไรทำงาน nginx ปฏิเสธที่จะพร็อกซีอย่างอื่นนอกจาก /นักเทียบท่า-compose-ui/
.
เหตุใด Nginx จึงเพิกเฉยต่อตำแหน่งที่ตั้งที่ฉันกำหนดไว้และปฏิเสธที่จะมอบอำนาจให้กับทรัพย์สิน