Score:0

NGINX จัดการกับเหตุการณ์ / รหัสข้อผิดพลาดบางอย่างโดยไม่ได้ตั้งค่าในการกำหนดค่าตามค่าเริ่มต้นหรือไม่

ธง nl

คำถาม: มีเหตุการณ์/รหัสข้อผิดพลาดที่ NGINX จัดการตามค่าเริ่มต้นหรือไม่

พื้นหลัง: ส่วนต่อไปนี้ของการกำหนดค่าของฉันหยุดการลิงก์ด่วนและส่งกลับข้อผิดพลาด 403

    ตำแหน่ง ~* \.(jpg|png|svg|webp|ico)$ {
        valid_referers ไม่มีการบล็อก server_names ~\.bing\ ~\.duckduckgo\. ~\.เฟสบุ๊ค\. ~\.google\. ~\.อินสตาแกรม\. ~\.ทวิตเตอร์\. ~\.yahoo\.;
        ถ้า ($invalid_referer) {
            กลับ 403;
        }
    }

ส่วนนี้จะบล็อกเมธอด HTTP ที่ไม่ต้องการและส่งคืนข้อผิดพลาด 405

ถ้า ($request_method !~ ^(GET|HEAD|POST)$) {
    กลับ 405;
}

สิ่งนี้ทำให้ฉันคิดว่ามีข้อผิดพลาดที่ฉันไม่ต้องตั้งค่าใน NGINX หรือไม่

ตัวอย่างเช่น ก ข้อผิดพลาด 400 คำขอไม่ถูกต้อง. NGINX รู้หรือไม่ว่าคำขอที่ไม่ถูกต้องคืออะไรโดยไม่ต้องเพิ่ม ถ้า คำสั่งและตรรกะบางอย่างในการกำหนดค่า?

ฉันจำเป็นต้องตั้งค่าทุกข้อผิดพลาดในการกำหนดค่าที่ฉันวางแผนจะใช้อีกวิธีหนึ่งหรือไม่ และถ้าฉันไม่ตั้งค่า จะไม่สามารถเรียกใช้ได้ ฉันมักจะคิดว่าเป็นกรณีนี้ แต่เมื่อฉันเห็นว่ามีข้อผิดพลาด 400 และ 500 ที่แตกต่างกันกี่ข้อ ฉันสงสัยว่าฉันไม่เข้าใจแนวคิดนี้อย่างถ่องแท้หรือไม่

Score:2
ธง co

Nginx จะจัดการทุกอย่างยกเว้นข้อผิดพลาดระดับแอปพลิเคชัน ตัวอย่างบางส่วนจะเป็น

400 หากคำขอละเมิดรูปแบบที่ระบุของ RFC
403 หาก nginx ไม่สามารถอ่านไฟล์ได้เนื่องจากได้รับอนุญาต
404 หากไม่พบไฟล์

และอื่น ๆ สิ่งเดียวที่ nginx ไม่จัดการคือข้อกำหนดที่ไม่ใช่ RFC เช่น การต่อต้านฮอตลิงก์และสิ่งต่าง ๆ ที่อยู่นอกขอบเขต เช่น แบ็คเอนด์ fastcgi/uwsgi/http

โดยทั่วไป ไม่ต้องกังวลเกี่ยวกับสิ่งที่ไม่เกี่ยวข้องกับตรรกะทางธุรกิจเฉพาะของคุณ

myNewAccount avatar
nl flag
สุดยอด! ในตัวอย่างข้อผิดพลาด 400 ฉันยังต้องรวมตำแหน่งในการกำหนดค่าของฉันหรือไม่ เพื่อที่ว่าเมื่อ NGINX เห็นข้อผิดพลาดจะได้รู้ว่าต้องส่งอะไร ตัวอย่างเช่น `error_page 400 /html/400.html;`
Martin Fjordvald avatar
co flag
มีหน้าข้อผิดพลาดเริ่มต้นอย่างง่าย ดูที่นี่: https://www.google.com/search?q=nginx+400+example&tbm=isch คุณสามารถปรับแต่งให้ดูดีขึ้นได้ แต่ไม่จำเป็น

โพสต์คำตอบ

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