ฉันใช้การแคช Nginx มาหลายปีแล้ว แต่เพิ่งสังเกตเห็นปัญหาที่ฉันสงสัยว่าเกิดขึ้นมาหลายปีแล้ว
หากฉันเข้าถึงหน้าเว็บที่ไม่เคยมีใครเข้าชมมาก่อน แน่นอนว่าฉันจะได้รับแคชที่พลาด ให้รีเฟรชหน้านั้น และตอนนี้แคชก็โดน
อย่างไรก็ตาม ฉันสังเกตเห็นว่าเมื่อโปรแกรมรวบรวมข้อมูล เช่น Bingbot หรือ Googlebot รวบรวมข้อมูลไซต์ หน้าเว็บที่พวกเขารวบรวมข้อมูลจะไม่ถูกแคช พวกเขาจะไม่ได้รับแคชเสมอจนกว่าฉันจะเข้าไปที่ไซต์เหล่านั้นด้วยตนเอง
มีการตั้งค่าที่ไหนสักแห่งใน Nginx ที่ป้องกันการรับส่งข้อมูลของบอทจากการแคชเพจหรือไม่?
FYI ฉันไม่ได้ปฏิบัติต่อบอทแตกต่างไปจากผู้ใช้ในการกำหนดค่า Nginx ของฉัน
นี่คือตัวอย่างการกำหนดค่าของฉัน
proxy_socket_keepalive บน;
ปิด proxy_redirect;
proxy_cache Google-แคช;
เปิด proxy_cache_revalidate;
proxy_ignore_headers หมดอายุการควบคุมแคช;
ข้อผิดพลาด proxy_cache_use_stale หมดเวลาอัปเดต http_500 http_502 http_503 http_504;
เปิด proxy_cache_background_update;
เปิด proxy_cache_lock;
proxy_cache_valid 200 206 304 306 301 302 404 410 300s;