WP_PROXY_HOST และ WP_PROXY_PORT ถูกตั้งค่าไว้แล้ว คำขอไปยัง API ภายนอกใช้พร็อกซี แต่คำขอกลับไปยังชื่อโฮสต์ของ WordPress เองไม่ใช้ นั่นอาจเป็นนโยบายการข้ามที่ตั้งใจไว้ของ HTTP API

WP_HTTP_Proxy ตัดสินว่าควรให้ URI ใดผ่านพร็อกซีหรือไม่ ตรรกะเริ่มต้นของมันข้าม localhost และชื่อโฮสต์ที่ได้จาก siteurl ที่กำหนดค่าไว้ของไซต์ สิ่งนี้แยกจากการตัดสินเพียงว่ามีค่าคงที่พร็อกซีอยู่หรือไม่

ตรวจสอบ URL ที่ WordPress ประเมิน

เก็บชื่อโฮสต์ที่ร้องขอ URL ของไซต์ที่กำหนดค่าไว้ และ WP_PROXY_BYPASS_HOSTS ไว้ด้วยกัน คำขอไปยังชื่อโฮสต์สาธารณะและคำขอไปยังนามแฝงภายในอาจตัดสินใจต่างกันได้แม้ทั้งสองจะไปถึงแอปพลิเคชันเดียวกัน

WP_PROXY_BYPASS_HOSTS เพิ่มรายการยกเว้นโฮสต์ที่กำหนดค่าไว้ ไม่ใช่ชุดปลายทางที่พร็อกซีระยะไกลอนุญาต และไม่ได้ทำให้คำขอภายนอกที่ถูกบล็อกอยู่แล้วเป็นที่อนุญาต

การยกเว้นไซต์เองตามค่าเริ่มต้นอาจมีประโยชน์ เพราะหลีกเลี่ยงการนำคำขอแอปพลิเคชันภายในแบบ loopback ออกไปยังตัวกลาง แต่การติดตั้งที่ชื่อโฮสต์สาธารณะของไซต์เข้าถึงได้เฉพาะผ่านเส้นทางที่ได้รับอนุมัติโดยเฉพาะอาจต้องมีการตัดสินใจที่ตั้งใจไว้อีกแบบหนึ่ง

เปลี่ยนการตัดสินใจที่ฮุกที่รองรับ

ตัวกรอง pre_http_send_through_proxy สามารถเขียนทับการตัดสินใจต่อ URI ได้ รักษาการเขียนทับใดๆ ให้แคบและจับคู่กับโฮสต์หรือเงื่อนไขที่มันควรจัดการ การคืนคำตอบคงที่หนึ่งคำตอบสำหรับทุก URI จะเปลี่ยนนโยบายของ HTTP API ทั้งหมด

ตรวจสอบการขนส่งที่เลือกด้วย โค้ดที่เรียก SDK แยกหรือฟังก์ชันเครือข่าย PHP ดิบไม่ได้ใช้ HTTP API ของ WordPress และตัวกรองของมันโดยอัตโนมัติ

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

บทความที่เกี่ยวข้อง