我正在设置我认为需要成为Apache 2中的反向代理的东西。
我有Apache设置,我有Mod_proxy,mod_ssl,Mod_rewrite所有启用。
我试图通过其HTTPS网页控制媒体播放器,它不允许http连接。 不幸的是,控制系统不会做Https。 它在技术上甚至不真的做http(它不是一个浏览器)。 尽pipe我可以形成HTTP数据包并parsing响应。 我经常与其他产品做这个。
所以我想要做的是发送一个HTTP请求到我的apache2服务器在192.168.0.17:80,让Apache服务器转发该请求到HTTPS媒体服务器在192.168.0.12:443。 然后将得到的源代码以纯文本forms返回给原始客户端进行parsing。 一旦信息被parsing,我将使用它来填充variables,然后使用这些variables来生成一个http数据包来模拟某个点击特定的GUI元素。
所有的机器都在专用于控制系统的本地networking上,虽然它具有互联网连接,但我不需要代理处理任何来自wan端的请求,实际上,我只需要代理来处理来自单个本地IP地址。
我知道我需要设置一个这样的虚拟主机文件
<VirtualHost 1.2.3.4:80> ServerName foo.com SSLProxyEngine On SSLProxyCheckPeerCN on SSLProxyCheckPeerExpire on ProxyPass / https://secure.bar.com ProxyPassReverse / https://secure.bar.com
但只是不知道什么IP信息需要去哪里或什么其他设置,我可能需要改变。
作为一个侧面的问题,是否有脚本的Apache维护在https服务器上的login,并重新authentication,如果会话超时? 我可能会每隔几秒钟就对服务器进行轮询,以获得一些反馈元素,但如果可能的话,将login进程卸载到apache仍然不错
谢谢你的帮助。 我现在有4个小时的覆盆子pi和apache的经验。
你做错了。
`ServerName foo.com RewriteRule上的RewriteEngine ^ /(。*)$ https://secure.bar.com/ $ 1 [P,L]
加上<VirtualHost *>一般更简单和更性感(当然NameVirtualHost *必须存在)。
你很近
<VirtualHost 1.2.3.4:80> ServerName foo.com SSLProxyEngine on ProxyPass / https://secure.bar.com/ ProxyPassReverse / https://secure.bar.com/
如果网站的主机硬编码,您可以使用我的大部分示例从这里 ,只要确保使用HTTPS和SSLProxyEngine On