我在 Apache 上配置代理时遇到问题。我想要:
- 从网站获取内容(是否放气);
- 对其应用过滤器以替换页面主体上的一些文本;
- 将 Deflate 过滤器应用于更改的页面后,将页面重新发送给客户端。
我的配置是这样的:
ExtFilterDefine FAnalyse mode=output intype=text/html cmd="path_to_my_script"
<VirtualHost *:80>
ServerName site1.com
<Location />
SetOutputFilter INFLATE;FAnalyse;DEFLATE
ProxyPass http://site2.com/
Header append Vary User-Agent env=!dont-vary
</Location>
</VirtualHost>
如果没有 DEFLATE 过滤器,它可以正常工作,但内容不会被压缩。
使用 DEFLATE 过滤器,客户端似乎获得了压缩内容,但标题错误,因为显示如下页面:
‹í39 Èæ*ô2ÃA(„ºÒªíïÄÃ5¹Q°sç¿^Þ^N.ç7Æðj#?
æÈ>ñ<ÙæýåÕßÑÍù{°D?]ßÎ~ ty&,锓qÏ:<¬Ð™àYR
lŒŒÓ@À˾íQÿqâõ¬ |ë6%^ç($aÅ ‚˜¸¬„ŠGàûqEyð
我的脚本不是问题,因为我用 Apache 的替换过滤器替换它,问题是一样的。
我试过这个指令:
Header append Vary User-Agent env=!dont-vary
没有成功。