Linux
Apache 作為動態 IP 的代理轉發器
我在網上四處尋找,但我不知道如何做我正在尋找的東西。所以我正在尋找的是一個代理,它將根據我在 url (GET) 中輸入的 IP 地址轉發 HTTP 查詢。
因此,例如:
我請求:
http://host/query/IP_A
它應該做的是: ME => GET HTTP myhost/query/IP_A => GET IP_A ===> GET HTTP 查詢到 IP_A 並返回給發送者!我一直在閱讀 proxypass、reverseproxy、proxymatch 和 mod_rewrite ……但我不知道為什麼它根本不起作用!而且我沒有日誌……當調試時間到來時,這並不酷!:-(
這是我的實際配置:
<VirtualHost *:80> ServerName myServer DocumentRoot /home/me/www/htdocs # RewriteCond ^.*/query/(.*) # RewriteRule (.*) http://$1 [P] ProxyPassMatch ^.*/query/(.*) http://$1 ErrorLog logs/me-error_log CustomLog logs/me-access_log debug </VirtualHost>
這是一個靜態工作範例:
ProxyPass / http://IP_A
ProxyPassReverse / http://IP_A
因此,當我訪問網路伺服器時,它會直接訪問 IP 並向我返回 http 響應。
謝謝你的幫助!
您的案例有點不清楚。這聽起來很像一個普通的網路代理(它接受來自您的瀏覽器的請求,然後代表您的瀏覽器從遠端站點獲取內容)。
但是做你想做的事:
<VirtualHost *:80> RewriteRule ^/query/(.*) http://$1 [P] <VirtualHost *:80>
這將獲取任何內容
/query/
並將其附加到http://
,然後為結果發出代理請求。正如@EEAA 所說,這是一場安全噩夢(有人可以使用你的伺服器攻擊遠端系統),但它會做你想做的事。您可能想閱讀有關使用 Apache 作為轉發代理的資訊(如mod_proxy文件中所述,或例如此處),並查看是否滿足您的需求。