Score:0

NGINX ตั้งค่า Reverse Proxy Header ตาม URL

ธง cf

ฉันได้ตั้งค่าพร็อกซีย้อนกลับสำหรับเนื้อหาคงที่บนเว็บไซต์ ทุกอย่างใช้งานได้ ปัญหาเดียวคือมีบางหน้าที่เนื้อหาคงที่ไม่ได้อยู่ที่ตำแหน่งนั้น ฉันกำลังพยายามทำบางอย่างโดยที่ฉันใช้พร็อกซีเนื้อหานั้นสำหรับบางหน้าเท่านั้น หรือในทางกลับกัน ให้พร็อกซีเนื้อหาสำหรับทุกหน้าแต่บางหน้าให้ง่ายกว่านั้น

พร็อกซีปัจจุบัน

ตำแหน่ง /sites/default/files/ {    
    proxy_set_header โฮสต์ url.com;
    proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Host $host;
    proxy_pass https://url.com;
}

แต่ฉันต้องการวิธีทำสิ่งต่อไปนี้ (ฉันรู้ว่าไวยากรณ์นี้ผิด 100% แค่คิดขึ้นเพื่อให้ทราบว่าฉันกำลังพยายามทำอะไร)

ตำแหน่ง /sites/default/files/ {
    ถ้า (request_url != '/cart' || request_url != 'checkout') {
        proxy_set_header โฮสต์ url.com;
        proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $host;
        proxy_pass https://url.com;
    }
}
Score:0
ธง cf

หลังจากการทดสอบและ Google หลายชั่วโมง ฉันได้วิธีแก้ไขแล้ว มีอย่างอื่นที่คล้ายคลึงกัน แต่ไม่มีเลยที่ตรงกับสิ่งที่ฉันพยายามทำ นี่คือสิ่งที่ฉันทำเพื่อให้มันใช้งานได้

ก่อนอื่นฉันสร้างแมปตัวแปรที่ตั้งค่าตามเงื่อนไขตามค่า $http_referer ที่อยู่ภายใน NGINX

แผนที่ $http_referer $resources_location {
    เริ่มต้น "url.com";
    "~*/page2" "url2.com";
    "~*/page3" "url2.com";
}

สิ่งนี้ใช้ตัวแปร $http_referer และตั้งค่าตัวแปร $resources_location ตามค่าของ $http_referer

ค่าเริ่มต้นคือ URL หลัก จากนั้นฉันมีนิพจน์ regex เพื่อพิจารณาว่าหน้านั้นมี /page2, /page3 อยู่ในนั้น

สิ่งหนึ่งที่ฉันคิดว่าคือ https://url.com/page2 จะเรียกมันก็จะเป็นเช่นนั้น https://url.com/sub/page2. ฉันไม่จำเป็นต้องกังวลเกี่ยวกับเรื่องนี้ แต่อย่างใดอย่างหนึ่งดังนั้นฉันจะทดสอบด้วย

จากนั้นฉันใช้ตัวแปรใหม่ที่ตั้งค่าในพร็อกซี

ตำแหน่ง /sites/default/files/ {        
    proxy_set_header โฮสต์ $resources_location;
    proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Host $host;
    proxy_pass https://${resources_location};
}  

ฉันเป็นมือใหม่สำหรับ NGINX ดังนั้นหากมีอะไรที่สามารถทำได้ดีกว่านี้ บอกฉันได้เลย!!

cn flag
คุณหมายถึง "url3" สำหรับ "page3" หรือไม่
cf flag
@AlexisWilke ใช่ เป็นเพียงข้อผิดพลาดในการลบข้อมูลระบุตัวตนที่เราใช้จริง

โพสต์คำตอบ

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