Score:0

ข้อผิดพลาด 400 Bad Request (ไม่บ่อยนัก) ในสินทรัพย์ Amazon S3 สาธารณะ

ธง ru

เรากำลังโฮสต์สินทรัพย์สาธารณะ (ภาพ) ของ S3 ภายใต้เส้นทางในเครื่องโดยใช้พร็อกซีย้อนกลับจาก NGINX ไปยัง S3

เราสังเกตเห็นข้อผิดพลาดเป็นระยะๆ ในบันทึกของเรา (ข้อผิดพลาด 400 รายการ) ซึ่งเกิดขึ้นไม่บ่อยนัก แต่ทำให้เกิดปัญหากับผู้เข้าชม เราสามารถบอกได้ว่านี่เป็นข้อผิดพลาดของ AWS เนื่องจากประเภทเนื้อหาที่ส่งคืนคือ application/xml กำลังโหลดเนื้อหาเดียวกันนี้ทันทีหลังจากข้อผิดพลาดที่บันทึกไว้ส่งคืนการตอบกลับที่ถูกต้อง

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

  • AWS จะเร่งรัดคำขอของเราหรือไม่เนื่องจากมาจาก IP เดียว (ผ่าน NGINX reverse proxy)
  • สถานะ 400 ประเภทใดที่ S3 จะส่งคืนสำหรับวัตถุสาธารณะที่ถูกต้อง
  • มีที่อื่นในคอนโซล AWS ที่จะแสดงข้อผิดพลาด 400 เหล่านี้เพื่อให้เราสามารถตรวจสอบได้หรือไม่

อัปเดตกรณีตัวอย่างเฉพาะ:

ตัวอย่างเส้นทางท้องถิ่นของเนื้อหาของเรา: https://www.example.com/assets/images/Oasis_PalmImage_20210809_Web_v01.png

URL S3 สาธารณะ: https://sb-oasis.s3.amazonaws.com/images/Oasis_PalmImage_20210809_Web_v01.png

ตัวอย่างของบันทึก NGINX ระหว่างข้อผิดพลาดที่บันทึก:

response_content_type: แอปพลิเคชัน/xml

สถานะ: 400

content_length: 355 ไบต์
Tim avatar
gp flag
Tim
ฉันสงสัยว่า application/xml บอกคุณได้อย่างไรว่าเป็นข้อผิดพลาดของ AWS คุณช่วยอธิบายเพิ่มเติมหน่อยได้ไหม คุณสามารถเชื่อมโยงคำขอในบันทึก Nginx กับคำขอ AWS โดยไม่คำนึงถึงรหัสสถานะได้หรือไม่ ฉันสงสัยว่าข้อผิดพลาดอยู่ระหว่าง Nginx และ S3 โดยที่คำขอไม่ได้มาถึง S3 จริงๆ แนะนำให้คุณแก้ไขโพสต์ของคุณเพื่อให้รายละเอียดเพิ่มเติม - เซิร์ฟเวอร์ของคุณอยู่ที่ไหน อาจเป็นรูปภาพ ฯลฯ ตรวจสอบบันทึกข้อผิดพลาด Nginx ของคุณด้วย
ru flag
@Tim เราไม่สามารถมองเห็นการตอบสนองข้อผิดพลาดเหล่านี้นอกเหนือจากบันทึก เราค่อนข้างมั่นใจว่า application/xml หมายถึงข้อผิดพลาด S3 เนื่องจาก 1) เนื้อหาที่ให้บริการคือไฟล์รูปภาพ 2) ข้อผิดพลาด S3 อื่นๆ (บัคเก็ตที่ไม่ถูกต้อง ฯลฯ) ส่งคืนเป็น XML 3) ไม่มีอะไรในการกำหนดค่า nginx ที่น่าจะเป็น ประเภทนั้นๆ
Tim avatar
gp flag
Tim
ฉันสงสัยว่ามีวิธีบันทึกเนื้อหาของการตอบกลับข้อผิดพลาดหรือไม่ เนื่องจากอาจแจ้งให้คุณทราบเพิ่มเติมเกี่ยวกับปัญหา ฉันยังสงสัยว่าคุณสามารถให้ผู้ใช้เข้าถึง S3 ได้โดยตรงหรือไม่ แต่นั่นอาจใช้ไม่ได้กับการตั้งค่าความปลอดภัยของเบราว์เซอร์ https://serverfault.com/questions/361556/is-it-possible-to-log-the-response-data-in-nginx-access-log/598045

โพสต์คำตอบ

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