apache2 HTTPS 到 HTTP 反向代理

apache2 HTTPS 到 HTTP 反向代理

我正在尝试设置我认为需要在 Apache 2 中设置的反向代理。

我已经设置了 apache,并且 Mod_proxy、mod_ssl、Mod_rewrite 全部启用。

我正在尝试通过其 HTTPS 网页控制媒体播放器,但它不允许 http 连接。不幸的是,控制系统不支持 Https。从技术上讲,它甚至不能真正支持 http(它不是浏览器)。尽管我可以形成 HTTP 数据包并解析响应。我经常对其他产品这样做。

所以我想要做的是向我的 apache2 服务器 192.168.0.17:80 发送一个 HTTP 请求,让 Apache 服务器将该请求转发到 HTTPS 媒体服务器 192.168.0.12:443。然后将生成的源代码以纯文本形式返回给原始客户端进行解析。解析完信息后,我将使用它来填充变量,然后使用这些变量生成一个 http 数据包来模拟某人单击特定的 GUI 元素。

所有机器都在专用于控制系统的本地网络上,虽然它确实具有互联网连接,但我不需要让代理处理来自广域网端的任何请求,事实上我只需要代理来处理来自单个本地 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 信息需要发送到哪里,或者我可能需要更改哪些其他设置。

顺便问一下,有没有办法编写脚本来维护 https 服务器上的登录信息,并在会话超时时重新进行身份验证?我可能会每隔几秒钟轮询一次服务器以获取一些反馈元素,但如果可能的话,将登录过程转移到 apache 上还是不错的

感谢您的帮助。我现在有 4 小时使用 Raspberry Pi 和 Apache 的经验。

答案1

你做错了。

` ServerName foo.com RewriteEngine 在 RewriteRule ^/(.*)$ https://secure.bar.com/$1 [盈亏]

而且总体上更<VirtualHost *>简单、更性感(当然NameVirtualHost *必须存在)。

答案2

你很接近了。

<VirtualHost 1.2.3.4:80> 
ServerName foo.com
SSLProxyEngine on 
ProxyPass / https://secure.bar.com/      
ProxyPassReverse / https://secure.bar.com/

如果网站对主机进行了硬编码,你可以使用我的大部分示例这里,只需确保使用 HTTPS 和 SSLProxyEngine On

相关内容