我正在计划创建一个自定义代理的项目,该代理拦截请求并在将其转发到目标服务器之前修改它的内容。其目的是用一些只有代理服务器知道的值替换HTTP请求体内的somes标签。
我设法在守护进程模式下使用php和socket做了一个小概念验证,但是我想知道是否有一个解决方案可以避免使用apache作为将请求传递给a的代理的完整php守护进程php脚本允许在将其转发到目标服务器之前修改它。
有人知道如何实现这个目标吗?
答案 0 :(得分:0)
我找到了解决这个问题的方法。 我在我的apache上定义了一个默认的vhost,并在默认vhost的.htaccess上添加了以下重写规则:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
所有请求都传递给index.php,然后可以操作请求并将其转发到好网址。
curl -x localhost:80 http://www.google.com
将被默认vhost的index.php拦截。