ฉันได้ตั้งค่าเซิร์ฟเวอร์ Nginx เป็น L4 Proxy (Forward Proxy With Stream Module) โดยมีการกำหนดค่าต่อไปนี้ในไฟล์ nginx.conf
ลำธาร {
ตัวแก้ไข 8.8.8.8;
เซิร์ฟเวอร์ {
ฟัง 443;
ssl_preread บน;
proxy_connect_timeout 5 วินาที;
proxy_pass $ssl_preread_server_name:$server_port;
}
}
ทุกอย่างทำงานได้ดีด้วยการกำหนดค่าด้านบน
แต่สมมติว่าฉันต้องการจำกัดการเข้าถึง URL ที่ส่งไปยังพร็อกซีเซิร์ฟเวอร์ของฉัน ไม่ใช่โดยการจำกัดที่อยู่ IP แต่ด้วยชื่อ URL
ฉันได้ทำการวิจัยและตั้งค่าไฟล์คอนฟิกูเรชันต่อไปนี้ และฉันสามารถควบคุม URL ที่ส่งไปยังพร็อกซีของฉันได้
แต่ปัญหาเริ่มต้นจากที่นี่ หากมีการเรียกเว็บไซต์ขนาดใหญ่ เนื่องจากมีลิงก์หรือโดเมนย่อยจำนวนมากที่โหลดอยู่เบื้องหลัง และทราบว่าฉันได้จำกัด URL ที่อนุญาตให้ผ่าน และโดเมนย่อยที่ใช้สัญลักษณ์แทนไม่ทำงานในการสตรีมบล็อก ฉันจึงไม่สามารถโหลดเว็บไซต์ที่ร้องขอได้ อย่างสมบูรณ์.
มีวิธีใดบ้างที่จะใช้ในสตรีมบล็อกเพื่อรองรับไวด์การ์ดสำหรับโดเมนย่อยของโดเมน
การกำหนดค่าใหม่ของฉันมีดังนี้:
ลำธาร {
แผนที่ $ssl_preread_server_name $name {
ipchicken.com ipchicken.com;
www.bbc.com www.bbc.com;
www.bbc.co.uk www.bbc.co.uk;
bbci.co.uk bbci.co.uk;
}
เซิร์ฟเวอร์ {
ตัวแก้ไข 8.8.8.8;
ฟัง 443;
ssl_preread บน;
proxy_connect_timeout 5 วินาที;
proxy_pass $name:$server_port;
}
}
เหตุการณ์ {
}