Score:2

Nginx เขียนรายการบันทึกข้อผิดพลาดไปยัง access.log

ธง cn

ฉันกำลังพยายามกำหนดค่า fail2ban สำหรับข้อผิดพลาด 403 จาก Nginx แต่ด้วยเหตุผลบางอย่าง ไฟล์ error.log ของฉันว่างเปล่า และข้อผิดพลาด 403 (และ 4XX, 5XX ทั้งหมด) ทั้งหมดจะไปที่ access.log อย่างไรก็ตาม ฉันตรวจสอบการกำหนดค่าของฉันแล้ว และมันก็ดูดี

เซิร์ฟเวอร์ {
    ฟัง 80;
    server_name example.com;

    ส่งคืน 301 https://$host$request_uri;
}

เซิร์ฟเวอร์ {
    ฟัง 443;
    server_name example.com;

    access_log /var/log/nginx/example.com/access.log;
    error_log /var/log/nginx/example.com/error.log;

    เปิด ssl;
    รวม /etc/nginx/conf.d/letsencrypt;
    รวม /etc/nginx/conf.d/verify-client;

    ที่ตั้ง / {
        รวม /etc/nginx/conf.d/403-if-not-verified;

        proxy_pass http://...;
        proxy_http_version 1.1;
        proxy_set_header อัพเกรด $http_upgrade;
        proxy_set_header การเชื่อมต่อ "อัพเกรด";
        proxy_set_header โฮสต์ $http_host;

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forward-สำหรับ $proxy_add_x_forwarded_for;
        proxy_set_header X-Forward-Proto http;
        proxy_set_header X-Nginx-Proxy จริง;

        ปิด proxy_redirect;
    }

    ที่ตั้ง ^~ /.well-known {
        รูท /usr/share/nginx/html/;
        อนุญาตทั้งหมด
    }
}

ผลลัพธ์:

root@raspberrypi:/var/log/nginx/example.com# ls -la
รวม 12
drwxr-xr-x 2 www-data adm 4096 28 ส.ค. 09:55 น.
drwxr-xr-x 12 www-data adm 4096 28 ส.ค. 08:53 ..
-rw-r--r-- 1 www-data adm 1417 28 ส.ค. 09:55 น. access.log
-rw-r--r-- 1 www-data adm 0 28 ส.ค. 09:55 error.log

access.log:

192.168.1.1 - - [28/ส.ค./2021:09:46:29 +0300] "GET / HTTP/1.1" 403 135 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:91.0) Gecko/ 20100101 ไฟร์ฟอกซ์/91.0"
192.168.1.1 - - [28/ส.ค./2021:09:49:53 +0300] "GET / HTTP/1.1" 403 135 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:91.0) Gecko/ 20100101 ไฟร์ฟอกซ์/91.0"
192.168.1.1 - - [28/ส.ค./2021:09:50:53 +0300] "GET / HTTP/1.1" 403 135 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:91.0) Gecko/ 20100101 ไฟร์ฟอกซ์/91.0"
192.168.1.1 - - [28/ส.ค./2021:09:52:02 +0300] "GET / HTTP/1.1" 403 135 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:91.0) Gecko/ 20100101 ไฟร์ฟอกซ์/91.0"
192.168.1.1 - - [28/ส.ค./2021:09:52:30 +0300] "GET / HTTP/1.1" 403 135 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:91.0) Gecko/ 20100101 ไฟร์ฟอกซ์/91.0"

ทั้งหมด รวม configs มีเพียงสิ่งที่เกี่ยวข้องกับใบรับรองไม่เกี่ยวข้องกับการบันทึก

ปรับปรุง นอกจากนี้ฉันพยายามใส่ บันทึกข้อผิดพลาด คำสั่งภายในของ / สถานที่ แต่ไม่มีอะไรเปลี่ยนแปลง

อัพ2. พยายามเปลี่ยนระดับการบันทึกเพื่อแก้ไขจุดบกพร่อง ได้รับสิ่งนี้:

28/08/2021 11:07:32 [debug] 10257#10257: *134281 SSL ALPN รองรับโดยไคลเอนต์: h2
28/08/2021 11:07:32 [debug] 10257#10257: *134281 SSL ALPN รองรับโดยไคลเอ็นต์: http/1.1
28/08/2021 11:07:32 [แก้ไขจุดบกพร่อง] 10257#10257: *134281 เลือก SSL ALPN: http/1.1
28/08/2021 11:07:32 [แก้ปัญหา] 10257#10257: *134281 SSL_do_handshake: -1
28/08/2021 11:07:32 [แก้ปัญหา] 10257#10257: *134281 SSL_get_error: 2
28/08/2021 11:07:32 [แก้ปัญหา] 10257#10257: *134281 การเชื่อมต่อที่ใช้ซ้ำได้: 0
28/08/2021 11:07:32 [แก้ไขข้อบกพร่อง] 10257#10257: *134281 ตัวจัดการการจับมือ SSL: 0
28/08/2021 11:07:32 [แก้ไขข้อบกพร่อง] 10257#10257: *134281 ssl เซสชันใหม่: 95794EF3:32:165
28/08/2021 11:07:32 [debug] 10257#10257: *134281 ssl เซสชันใหม่: 05E7BF5A:32:166
28/08/2021 11:07:32 [แก้ปัญหา] 10257#10257: *134281 SSL_do_handshake: 1
28/08/2021 11:07:32 [แก้ปัญหา] 10257#10257: *134281 SSL: TLSv1.3 การเข้ารหัส: "TLS_AES_128_GCM_SHA256 TLSv1.3 Kx=any Au=any Enc=AESGCM(128) Mac=AEAD"
28/08/2021 11:07:32 [แก้ปัญหา] 10257#10257: *134281 การเชื่อมต่อที่ใช้ซ้ำได้: 1
28/08/2021 11:07:32 [debug] 10257#10257: *134281 http wait ตัวจัดการคำขอ
28/08/2021 11:07:32 [แก้ปัญหา] 10257#10257: *134281 posix_memalign: 01341900:256 @16
28/08/2021 11:07:32 [แก้ไขจุดบกพร่อง] 10257#10257: *134281 malloc: 012C1660:1024
28/08/2021 11:07:32 [แก้ปัญหา] 10257#10257: *134281 SSL_read: 464
28/08/2021 11:07:32 [แก้ปัญหา] 10257#10257: *134281 SSL_read: -1
28/08/2021 11:07:32 [แก้ปัญหา] 10257#10257: *134281 SSL_get_error: 2
28/08/2021 11:07:32 [แก้ปัญหา] 10257#10257: *134281 การเชื่อมต่อที่ใช้ซ้ำได้: 0
28/08/2021 11:07:32 [แก้ปัญหา] 10257#10257: *134281 posix_memalign: 013043B0:4096 @16
28/08/2021 11:07:32 [debug] 10257#10257: *134281 http บรรทัดคำขอกระบวนการ
28/08/2021 11:07:32 [แก้ไขข้อบกพร่อง] 10257#10257: *134281 http บรรทัดคำขอ: "GET / HTTP/1.1"
28/08/2021 11:07:32 [แก้ปัญหา] 10257#10257: *134281 http uri: "/"
28/08/2021 11:07:32 [แก้ปัญหา] 10257#10257: *134281 http args: ""
28/08/2021 11:07:32 [แก้ปัญหา] 10257#10257: *134281 http ขยาย: ""
28/08/2021 11:07:32 [debug] 10257#10257: *134281 http บรรทัดส่วนหัวของคำขอกระบวนการ
28/08/2021 11:07:32 [แก้ไขจุดบกพร่อง] 10257#10257: *134281 ส่วนหัว http: "โฮสต์: example.com"
2021/08/28 11:07:32 [debug] 10257#10257: *134281 http header: "User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"
28/08/2021 11:07:32 [แก้ไขข้อบกพร่อง] 10257#10257: *134281 ส่วนหัวของ http: "ยอมรับ: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/* ;q=0.8"
28/08/2021 11:07:32 [แก้ไขจุดบกพร่อง] 10257#10257: *134281 ส่วนหัว http: "Accept-Language: en-US,en;q=0.5"
28/08/2021 11:07:32 [แก้ไขข้อบกพร่อง] 10257#10257: *134281 ส่วนหัว http: "ยอมรับการเข้ารหัส: gzip, deflate, br"
28/08/2021 11:07:32 [แก้ไขข้อบกพร่อง] 10257#10257: *134281 ส่วนหัวของ http: "การเชื่อมต่อ: ให้มีชีวิตอยู่"
28/08/2021 11:07:32 [แก้ไขจุดบกพร่อง] 10257#10257: *134281 ส่วนหัว http: "Upgrade-Insecure-Requests: 1"
28/08/2021 11:07:32 [แก้ไขข้อบกพร่อง] 10257#10257: *134281 ส่วนหัว http: "Sec-Fetch-Dest: เอกสาร"
28/08/2021 11:07:32 [แก้ไขข้อบกพร่อง] 10257#10257: *134281 ส่วนหัว http: "Sec-Fetch-Mode: นำทาง"
28/08/2021 11:07:32 [แก้ไขข้อบกพร่อง] 10257#10257: *134281 ส่วนหัว http: "Sec-Fetch-Site: ไม่มี"
28/08/2021 11:07:32 [แก้ไขข้อบกพร่อง] 10257#10257: *134281 ส่วนหัว http: "Sec-Fetch-User: ?1"
28/08/2021 11:07:32 [แก้ไขจุดบกพร่อง] 10257#10257: *134281 ส่วนหัว http: "การควบคุมแคช: max-age=0"
28/08/2021 11:07:32 [debug] 10257#10257: *134281 ส่วนหัว http เสร็จสิ้น
28/08/2021 11:07:32 [แก้ไขจุดบกพร่อง] 10257#10257: *134281 ตัวจับเวลาเหตุการณ์ del: 3:215143200
28/08/2021 11:07:32 [แก้ปัญหา] 10257#10257: *134281 เฟสทั่วไป: 0
28/08/2021 11:07:32 [debug] 10257#10257: *134281 รีไรท์เฟส: 1
28/08/2021 11:07:32 [แก้ไขข้อบกพร่อง] 10257#10257: *134281 ตำแหน่งทดสอบ: "/"
28/08/2021 11:07:32 [แก้ไขข้อบกพร่อง] 10257#10257: *134281 โดยใช้การกำหนดค่า "/"

อัพ3. สิทธิ์สำหรับไฟล์บันทึกทั้งสองเหมือนกัน ดังนั้นตกลง

ihorc avatar
cn flag
โอเค ดูเหมือนว่าข้อผิดพลาด 4XX และ 5XX ไม่ควรไปที่ error.log เนื่องจากเป็นเพียงข้อผิดพลาดในการกำหนดค่า/ซอฟต์แวร์เท่านั้น
Score:3
ธง us

บันทึกข้อผิดพลาด มีข้อมูลโดยละเอียดเกี่ยวกับข้อผิดพลาดที่เกิดขึ้นในฝั่งเซิร์ฟเวอร์ นั่นคือ รหัสข้อผิดพลาด HTTP 5xx และข้อผิดพลาดในการเริ่มต้น/ภายในอื่นๆ

ไม่ได้มีไว้สำหรับบันทึกรหัสสถานะข้อผิดพลาด HTTP ทั้งหมด

หากคุณต้องการบันทึกเฉพาะข้อผิดพลาด HTTP คุณสามารถสร้างวินาทีได้ access_log รายการที่มีการกรอง ตัวอย่างด้านล่างมาจาก เอกสาร nginx ด้วยการปรับเปลี่ยนเล็กน้อย:

แผนที่ $สถานะ $loggable {
    เริ่มต้น 0;
    ~^4 1;
}

access_log /path/to/log รวม if=$loggable;

แผนที่ใช้เพื่อตรวจสอบรหัสสถานะและตั้งค่า $บันทึกได้ แปรผันตามไปด้วย การดำเนินการเริ่มต้นคือการไม่บันทึก และหากรหัสสถานะ HTTP เริ่มต้นด้วย 4จากนั้นคำขอจะถูกบันทึก

โพสต์คำตอบ

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