Score:1

จะบอกให้ nginx ให้เกียรติแคชของแบ็กเอนด์ได้อย่างไร uWSGI

ธง al

มี คำถามที่คล้ายกัน แต่วิธีแก้ปัญหานั้นไม่ได้ผลสำหรับฉัน

เรามีแบ็กเอนด์โฆษณา nginx และ uWSGI เราต้องการ nginx เพื่อแคชการตอบสนองส่วนหลังตามสิ่งที่อยู่ในส่วนหัวการตอบสนอง

ตัวอย่างเช่น ฉันวิ่ง ขด -I https://example.com/api/project_data/. โดยใช้ tcpdump ฉันเห็นแบ็กเอนด์ตอบกลับ:

HTTP/1.1 200 ตกลง
ประเภทเนื้อหา: application/json
Vary: ยอมรับ, ยอมรับภาษา, ที่มา
อนุญาต: รับ หัว ตัวเลือก
การควบคุมแคช: สาธารณะ อายุสูงสุด=3600
X-Request-ID: 6aa...0d99
X-Frame-Options: ปฏิเสธ
X-Content-Type-Options: ไร้สาระ
ตั้งค่าคุกกี้: longterm_session=45c6...67; โดเมน=example.com;

อย่างไรก็ตาม การตอบสนองจะไม่ถูกแคชไว้ และ nginx จะเคาะไปที่แบ็กเอนด์ทุกครั้งที่ได้รับคำขอ

การกำหนดค่า nginx:

http {
        uwsgi_cache_path /var/local/nginx_cache levels=2:2 use_temp_path=off inactive=1h keys_zone=mycache:20m ;
....

  เซิร์ฟเวอร์ {
    ....
    uwsgi_cache มายแคช;
    uwsgi_cache_key "$request_method$request_uri";

    ตำแหน่ง /api/project_data/ {
      add_header X-Cache $upstream_cache_status;
      add_header Pragma "สาธารณะ";
      uwsgi_pass 127.0.0.1:49002;
      รวม uwsgi_params;

      uwsgi_cache มายแคช;
      uwsgi_cache_key "$request_method$request_uri";

    }

ฉันทำซ้ำ uwsgi_cache เพียงเพื่อความปลอดภัยเพราะ afaik บางคำสั่งไม่ได้รับการสืบทอดมา ที่ตั้ง. นอกจากนี้ยังมี x-แคช: MISS ในการตอบกลับ nginx ส่งไปยังลูกค้า

ผมทำอะไรผิดหรือเปล่า?

Score:0
ธง cn

เอกสาร Nginx ระบุอย่างชัดเจน นั่น

หากส่วนหัวมีฟิลด์ âSet-Cookieâ การตอบกลับดังกล่าวจะไม่ถูกแคช

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

โพสต์คำตอบ

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