Score:0

Nginx - proxy_pass ไปยังบล็อกตำแหน่งภายในอื่น

ธง mx

ฉันใช้ Nginx เพื่อแคชการตอบสนองบางอย่าง แบ็กเอนด์ที่สร้างการตอบสนองเหล่านี้ตั้งค่าทั่วไป การควบคุมแคช ส่วนหัวสำหรับการตอบกลับทั้งหมดอย่างไรก็ตาม ฉันต้องแคชคำตอบบางส่วนเป็นระยะเวลานานกว่าคำตอบอื่นๆ นั่นคือฉันต้องแก้ไข การควบคุมแคช ก่อนนำไปพิจารณาโดย ก.ตร proxy_pass คำสั่ง

ฉันกำลังใช้ ngx_lua_module และต้องการปรับเปลี่ยน การควบคุมแคช ส่วนหัวใน ภายใน บล็อกตำแหน่งโดยใช้ header_filter_by_lua_block คำสั่ง การกำหนดค่าที่ต้องการมีลักษณะดังนี้:

ที่ตั้ง / {
    proxy_pass /จริง;
    proxy_cache บางอย่าง;
}

สถานที่ = / จริง {
    ภายใน;
    proxy_pass https://แบ็กเอนด์;
    ปิด proxy_cache;
    header_filter_by_lua_block {
        -- แก้ไขส่วนหัวของการควบคุมแคชตามพารามิเตอร์คำขอ/การตอบกลับ
    }
}

อย่างไรก็ตามฉันไม่สามารถหาวิธีที่จะทำให้การเปลี่ยนเส้นทางภายในนี้สำเร็จได้ proxy_pass. ฉันขอขอบคุณข้อมูลเชิงลึกที่คุณมีเพื่อให้งานนี้สำเร็จ

Score:1
ธง za

คุณไม่สามารถ proxy_pass ไปยังตำแหน่งที่คุณทำได้เท่านั้น proxy_pass ไปยังอัปสตรีมหรือ URL (ซึ่งโดยพื้นฐานแล้วจะไม่ประกาศอัปสตรีม) ดังนั้น คุณควรตอบคำถามของคุณอย่างเป็นทางการ proxy_pass ถึง โลคัลโฮสต์ โดยตั้งค่าส่วนหัวของโฮสต์เป็นปัจจุบัน ชื่อเซิร์ฟเวอร์; แต่นี่อาจจะทำให้สิ่งต่าง ๆ ซับซ้อนเกินไป

แทน - ดูเหมือนว่าทั้งหมดที่คุณต้องทำคือกำจัด ที่ตั้ง / {} ที่คุณไม่ต้องการแล้วเปลี่ยนชื่อ สถานที่ = /จริง ถึง ที่ตั้ง / {}.

ฉันจะบอกว่าคุณไม่จำเป็นต้องใช้ lua เลย - เพียงแค่ลบส่วนหัวที่คุณได้รับจากเว็บพร็อกซีด้วย proxy_hide_header และเพิ่มของคุณเองด้วย add_header.

โพสต์คำตอบ

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