ฉันกำลังพยายามสร้าง reverse proxy ด้วย apache ซึ่งถ้าได้รับคำขอที่มี /thisismypath เป็นพาธ และที่อยู่ ip ที่สร้างคำขอนั้นคือ 192.168.2.12 ควรเปลี่ยนเส้นทางไปที่ 192.168.1.40 หาก ip อื่นส่งคำขอเดียวกันด้วยเส้นทางเดียวกันนั้น ควรเปลี่ยนเส้นทางไปที่ 192.168.2.11 และหากคำขอไม่ตรงกับเส้นทางนั้น จะแสดงหน้าดัชนี
ฉันพยายามต่อไป
<Location /thisismypath>
Deny from all
Allow from 192.168.2.12
ProxyPassMatch "https://192.168.1.40:443/thisismypath/$1"
ProxyPassReverse https://192.168.1.40:443
</Location>
<Location /thisismypath>
Allow from all
ProxyPassMatch "https://192.168.2.11:443/thisismypath/$1"
ProxyPassReverse https://192.168.2.11:443
</Location>
สิ่งนี้ใช้ไม่ได้เพราะเหมือนกับส่วนตำแหน่งแรกที่ถูกแทนที่ด้วยส่วนที่สอง ดังนั้นฉันจึงลองสิ่งต่อไป:
<If "-R '192.168.2.12'">
Deny from all
Allow from 192.168.2.12
ProxyPassMatch "https://192.168.1.40:443/thisismypath/$1"
ProxyPassReverse https://192.168.1.40:443
</If>
<Else>
Allow from all
ProxyPassMatch "https://192.168.2.11:443/thisismypath/$1"
ProxyPassReverse https://192.168.2.11:443
</Else>
แต่ก็ไม่ได้ผลเช่นกันเพราะคำสั่ง ProxyPassMatch ไม่สามารถไปอยู่ในส่วน If ได้ มีความคิดว่าฉันจะทำสิ่งนี้ได้อย่างไร ??