尝试将Apache配置为充当SSL和非SSL的代理,并能够修改响应正文(在我的情况下为JS错误的弹出警报)。
像这样:
HTTP Apache代理(更改响应)企业代理
互联网(HTTP)
HTTPS Apache代理(更改响应)企业代理
互联网(HTTPS)
在扼杀了一点之后,我针对非SSL示例进行了此操作:
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://<corporate proxy>/
ProxyPassReverse / http://<corporate proxy>/
<IfModule substitute_module>
AddOutputFilterByType INFLATE;SUBSTITUTE;DEFLATE text/html
Substitute "s|(<head.*?>)|$1<script type='text/javascript'>window.onerror=function(error){\n alert(error);\n};\n</script>|i"
</IfModule>
可悲的是,我没有对SSL进行同样的操作...并且连接无法建立。
(我认为配置中有一些东西,或者可能是在理解这种代理如何工作的过程中)
从httpd-ssl文件中:
SSLEngine On
SSLProxyEngine On
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://<corporate proxy>/
ProxyPassReverse / http://<corporate proxy>/
SSLCertificateFile "c:/Apache24/ssl/rootCA.pem"
SSLCertificateKeyFile "c:/Apache24/ssl/rootCA.key"
要生成证书,我运行以下命令
创建根密钥
openssl genrsa -out C:\Apache24\ssl\rootCA.key 2048
自签名此证书
openssl req -x509 -new -nodes -key C:\Apache24\ssl\rootCA.key -days 1024 -out C:\Apache24\ssl\rootCA.pem
我实际上正在尝试替换(Fiddler),将其配置为解密HTTPS,请参见下面的链接中的屏幕截图
Fiddler HTTPs Configuration
任何想法?
最佳答案
令人遗憾的是,Apache不支持我的配置(在公司代理之后工作,需要级联代理支持)。
而且这也不应该是反向代理,而应该是带有终止的SSL正向代理...我没有找到任何有关如何在Apache代理中进行设置的文档。
因此,在Apache予以支持之前,我建议关闭此线程。
关于apache - Apache Proxy SSL和非SSL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31654891/