Score:1

เหตุใด regexp นี้จึงตรงกัน แต่ไม่ใช่ตำแหน่ง / ใน NGINX

ธง in

โดยทั่วไปฉันมีสองตำแหน่งนั้นใน NGINX (เพิ่มรหัสส่งคืนเพื่อวัตถุประสงค์ในการดีบัก)

ที่ตั้ง / {
    กลับ 401;
}


ตำแหน่ง ~ "^/(สินทรัพย์|((de|en|es|fr|it|zh|ru)-[a-z]{3}))" {
    กลับ 402;
}
         

แนวคิดคือการส่งคืน 401 บน GET https://www.example.com/แต่จะคืนค่า 402 เสมอ

เป็นไปได้อย่างไร?

$ http https://www.example.com/ --print Hh
เก็ท / HTTP/1.1
ยอมรับ: */*
ยอมรับการเข้ารหัส: gzip, deflate
การเชื่อมต่อ: มีชีวิตอยู่
โฮสต์: www.example.com
User-Agent: HTTPie/1.0.3

ต้องชำระเงินด้วย HTTP/1.1 402
การเชื่อมต่อ: มีชีวิตอยู่
ความยาวเนื้อหา: 176
ประเภทเนื้อหา: text/html
วันที่: จันทร์ 07 มิถุนายน 2021 10:07:37 GMT
เซิร์ฟเวอร์: nginx/1.18.0 (Ubuntu)

ฉันยังทดสอบ regexp บน https://nginx.viraptor.info/ และไม่ตรงกับก www.example.com/ ขอดังนั้นฉันเชื่อว่ามันควรจะทำงานใน ที่ตั้ง / บล็อก?

แก้ไข: ก่อนหน้านั้นฉันมีบ้าง

เขียนใหม่ ^/$ /de-abc/;
Richard Smith avatar
jp flag
`สถานที่ /' จะตรงกับคำขอเท่านั้น หากไม่มี 'สถานที่' อื่นที่ตรงกับคำขอนั้น นี่คือเนื้อหาทั้งหมดของบล็อก 'เซิร์ฟเวอร์' หรือไม่ หากคุณต้องการจับคู่ `/` โดยเฉพาะ ให้ใช้ `location = /`
in flag
ไม่ใช่เนื้อหาทั้งหมด ฉันสามารถพยายามทำให้เดือด - แต่ทำไมมันดูเหมือนตรงกับ regexp?
Richard Smith avatar
jp flag
โปรดแก้ไขคำถามและเพิ่มรายละเอียดเพิ่มเติม เห็นได้ชัดว่าคำขอดั้งเดิมไม่ตรงกับ `ตำแหน่งที่ตั้ง' แต่เราไม่รู้ว่าคำขอดั้งเดิมได้รับการประมวลผลอย่างไร
Michael Hampton avatar
cz flag
โปรดโพสต์ผลลัพธ์ของ `nginx -T`
in flag
ฉันพบมัน - ขอบคุณ
Score:0
ธง in

เหตุผลคือการเขียนใหม่ซึ่งไม่ใช่การเปลี่ยนเส้นทางก่อนหน้านี้ในการกำหนดค่า

เขียนใหม่ ^/$ /de-abc/;

ฉันตั้งใจที่จะใช้

เขียนใหม่ ^/$ /de-abc/ redirect;

โพสต์คำตอบ

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