Score:0

Nginx ไม่จับคู่ URL กับ Regex ที่ถูกต้อง (ดูเหมือนว่าจะใช้ได้กับฉันและผู้ทดสอบ regex ออนไลน์)

ธง us

ฉันใช้ 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 จึงเพิกเฉยต่อตำแหน่งที่ตั้งที่ฉันกำหนดไว้และปฏิเสธที่จะมอบอำนาจให้กับทรัพย์สิน

Score:2
ธง gr

นอกจากการกำหนดค่าที่คุณระบุแล้วยังต้องมี ตัวแก้ไข กำหนดให้ทำงานได้อย่างถูกต้อง (ซึ่งส่วนใหญ่มักเป็นสาเหตุของ HTTP 502 เกตเวย์ไม่ถูกต้อง ข้อผิดพลาด) การเพิ่ม $request_uri ต่อท้าย URL อัปสตรีมของคุณเป็นเรื่องไร้สาระโดยสิ้นเชิง มาดูกันว่าจะเป็นอย่างไรสำหรับ URL ที่คุณระบุเป็นตัวอย่าง:

http://192.168.1.148/docker-compose-ui/scripts/directives/actions.js

ตัวแปรที่ใช้ในการเขียน $ต้นน้ำ จะมีค่าดังนี้

$1 สคริปต์/คำสั่ง/actions.js
$request_uri /docker-compose-ui/scripts/directives/actions.js

นั่นหมายถึงทั้งหมด $ต้นน้ำ ตัวแปร (ซึ่งกำหนดเป็น http://docker_compose_ui:5000/$1$request_uri) จะเท่ากับ

http://docker_compose_ui:5000/scripts/directives/actions.js/docker-compose-ui/scripts/directives/actions.js

ดูเหมือนว่าคุณโอเคไหม? ฉันไม่คิดอย่างนั้น

ลองใช้อันนี้แทน:

ที่ตั้ง ^~ /docker-compose-ui {
    เขียนใหม่ ^/docker-compose-ui/?(.*) /$1 ตัวแบ่ง;

    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 http://docker_compose_ui:5000;

    proxy_set_header อัพเกรด $http_upgrade;
    การเชื่อมต่อ proxy_set_header $http_connection;
    proxy_http_version 1.1;
}

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา