尝试将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/

10-14 13:11
查看更多