เอาเป็นว่า เราสามารถใช้ apache2 เป็น proxy สำหรับ load URL อื่น ๆ มาได้ทันที
เช่น
ServerA มี apache2 ใช้งานอยู่
ปกติแล้ว เราสามารถเปิด web http://www.ServerA.com
เพื่อเรียกดูเวปที่ /var/www ของ ServerA
ถ้า proxy ล่ะ คืออะไร
เราสามารถเซตให้ apache2 ไปเปิดเวปอื่น เช่น http://www.AnyWWW.com/
เมื่อเราเปิด web http://www.ServerA.com
แทนที apache2 จะเรียกเวปจาก /var/www ของ ServerA
จะกลายเป็นว่า apache2 ไปเรียกเวปจาก http://www.AnyWWW.com/
หาก Config apache2 ที่ ServerA ด้วย
ProxyPass / http://www.AnyWWW.com/
apache2 ก็จะทำให้ ServerA กลายเป็น mirrors ของ http://www.AnyWWW.com/
หรือ หาก Config apache2 ที่ ServerA ด้วย
ProxyPass /anywww/ http://www.AnyWWW.com/
เมื่อเราเปิด http://www.ServerA.com/anywww/ เราก็จะได้ข้องมูล http://www.AnyWWW.com/
โดยเราจะเรียก ServerA ว่าเป็น reverse proxy หรือ gateway สำหรับ AnyWWW.com
*ซึ่งหากเราต้องการใช้ คำสั่ง ProxyPass ก็ควรเซต ProxyRequests ให้เป็น Off
** ProxyRequests On จะหมายถึงเราต้องการใช้เป็น forward proxy (คล้าย ๆ พวก squid)
อย่าลืม enable module ด้วยคำสั่ง
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_ftp <- ถ้าใช้
เอาหละ ทีนี้ เราสามารถใช้ proxy ร่วมกับ VirtualHost ของ apache2 ได้ด้วย
เพื่อเพิ่มความวุ่นวายให้กับชีวิต
<VirtualHost *:80>
ServerName AnyWWW.ServerA.com
ProxyRequests off
ProxyPass / http://www.AnyWWW.com/
</VirtualHost>
หมายความว่า หากมี Request เข้ามาที่ Port 80 ด้วย DNS AnyWWW.ServerA.com
ให้ไปเรียกเวปจาก http://www.AnyWWW.com/
ทีนี้ถ้าจะให้ดี ก็เพิ่ม
ProxyPassReverse / http://www.AnyWWW.com/
เพื่อให้ apache2 แก้ไข header ที่ได้มาจาก http://www.AnyWWW.com/
ให้เหมือนกับว่าข้อมูลมาจาก AnyWWW.ServerA.com เอง
ที่เหลือก็สุดแล้วแต่จะประยุกต์ใช้จ้า
ไม่มีความคิดเห็น:
แสดงความคิดเห็น