Roy*_*nik 5 apache mod-rewrite apache2 mod-proxy proxypass
我正在尝试使用 apache2 和 mod_proxy 实现透明代理,但目前它不执行任何操作。只是将流量转发到正确的“主机”。
我不希望它依赖于主机 - 但希望它是动态的,因此它适用于所有主机。我尝试这样做:
RewriteEngine on
RewriteLogLevel 5
RewriteLog "/var/log/apache2/rewrite.log"
RewriteRule ^(.*)$ $1
ProxyPass / http://$1
Run Code Online (Sandbox Code Playgroud)
我还尝试了其他几种方法(没有效果)。有什么方法可以从标头访问“主机”并在 ProxyPass 指令中使用它?
在 nginx 中,我会使用 $host、$remote_addr 等。有什么方法可以在 apache 上替换它吗?
我需要的是能够访问 ProxyPass 命令内的 %{HTTP_HOST}、%{REQUEST_URI} 和 %{SERVER_PORT} 。
只是回答我自己的问题:
我错过了两件事:
配置应该是:
RewriteEngine On
RewriteRule ^(.*)$ http://%{HTTP_HOST}$1 [P]
Run Code Online (Sandbox Code Playgroud)
不要忘记在虚拟目录中启用继承:
RewriteEngine On
RewriteOptions Inherit
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11175 次 |
| 最近记录: |