![apache2 HTTPS 到 HTTP 反向代理](https://linux22.com/image/667459/apache2%20HTTPS%20%E5%88%B0%20HTTP%20%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86.png)
我正在尝试设置我认为需要在 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