Score:0

กลับ 444 แทน 400

ธง mt

หากมีคนส่งคำขอ http ไปยังทรัพยากร https บนเซิร์ฟเวอร์ nginx ของฉัน พวกเขาจะได้รับข้อผิดพลาด 400 "คำขอ HTTP ธรรมดาถูกส่งไปยังพอร์ต HTTPS" มีวิธีส่งคืน 444 แทนหรือไม่

เมื่อฉันค้นหาข้อผิดพลาดนี้ ฉันพบเฉพาะผู้ที่มีปัญหาการกำหนดค่าที่พวกเขาพยายามแก้ไข แต่ในกรณีของฉัน การกำหนดค่าของฉันก็ใช้ได้ - ฉันกำลังพยายามลดผลกระทบของคำขอที่ไม่ถูกต้อง

แก้ไข: ฉันใช้สิ่งนี้เพื่อป้องกันการเข้าถึง IP โดยตรงไปยังเซิร์ฟเวอร์ของฉัน หากมีคนส่งคำขอ http พวกเขาจะได้รับการตอบกลับ 400 แทนที่จะเป็น 444 ฉันแค่ไม่ต้องการคำตอบ

เซิร์ฟเวอร์ {
    ฟัง 443 ssl http2 default_server;
    ฟัง [::]:443 ssl http2 default_server;
    ssl_certificate /etc/nginx/ssl/n.pem;
    ssl_certificate_key /etc/nginx/ssl/n2.pem;
    ชื่อเซิร์ฟเวอร์ _;
    กลับ 444;
}
vn flag
สิ่งนี้อาจต้องได้รับการแก้ไขในระดับแอปพลิเคชัน
Gerard H. Pille avatar
in flag
เป็นการดีกว่าที่จะไม่ตอบเลย การส่ง http ไปยังพอร์ต https ต้องใช้ความพยายาม แทบจะไม่มีความผิดพลาดเลย
mt flag
นั่นคือสิ่งที่ฉันพยายามหาวิธีการทำ ฉันจะไม่ตอบเลยแทนที่จะส่งคืนข้อผิดพลาด 400 ได้อย่างไร
Michael Hampton avatar
cz flag
nginx จัดการสถานการณ์นั้นเป็นการภายใน ไม่ใช่สิ่งที่คุณควบคุมได้ (หรือควร)
Score:0
ธง cn

เป็นไปได้ที่จะให้ nginx ตอบกลับด้วย 444 ด้วยวิธีนี้:

error_page 497 =444 /444.html;

ตำแหน่ง = /444.html {
        กลับ 444;
}
Michael Hampton avatar
cz flag
ข้อผิดพลาด 497 มาจากไหน
devitrified avatar
cn flag
497 เป็นรหัสข้อผิดพลาดสำหรับคำขอ HTTP ที่ส่งไปยังพอร์ต HTTPS (https://en.wikipedia.org/wiki/List_of_HTTP_status_codes)
Michael Hampton avatar
cz flag
น่าสนใจ. ฉันไม่เคยเห็น nginx ส่งรหัสนั้นมาก่อน (และส่ง 400 ในกล่องการผลิตของฉัน) สิ่งนี้ถูกเพิ่มเมื่อใด และ/หรือ คุณจะเปิดใช้งานได้อย่างไร
devitrified avatar
cn flag
ยังไม่มีการจัดทำเป็นเอกสารอย่างเป็นทางการ จึงมีข้อมูลน้อยมาก
Michael Hampton avatar
cz flag
ได้ลองใช้งานจริงหรือยัง?
devitrified avatar
cn flag
แน่นอน นั่นเป็นเหตุผลที่ฉันโพสต์ไว้ที่นี่ หากคุณใช้พอร์ตที่ไม่ได้มาตรฐานสำหรับ https คุณจะได้รับ baidu spiders และตัวอื่นๆ ตามมาในที่สุด พวกเขาได้ 444 ด้วยวิธีแก้ปัญหานี้
Michael Hampton avatar
cz flag
ตกลงแล้วคุณจะทำให้มันใช้งานได้จริงได้อย่างไร?
devitrified avatar
cn flag
เพียงคัดลอก/วางบรรทัดเหล่านี้ในบล็อกเซิร์ฟเวอร์ของคุณแล้วรีสตาร์ท nginx
Michael Hampton avatar
cz flag
nginx เวอร์ชันใด
devitrified avatar
cn flag
ฉันใช้ nginx/1.15.8
Michael Hampton avatar
cz flag
นั่นเป็นเรื่องแปลกด้วยซ้ำ เพราะฉันเพิ่งลองบน 1.20.0 และส่งคืน 400 ไม่ใช่ 497 บางทีนี่อาจถูกลบออกจากรหัส

โพสต์คำตอบ

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