所以我有一个使用mongrel用ruby编写的自定义代理来处理一些相当复杂的缓存逻辑。这对于http和ftp请求都很有效,但是由于mongrel不是为处理https请求而设计的,所以我希望用apache来处理整个事情,并利用ProxyRemote命令将mongrel传递给https请求。
通过apache中的ProxyPass和ProxyPassReverse命令镜像某些站点目录结构很容易实现这一点,但我没有看到使用ProxyRemote执行此操作的方法。
问题是mongrel不处理建立安全请求的CONNECT请求。因此,虽然我能够在代理本身内处理https请求,但实际上不支持直接使用带有https请求的代理。
似乎最简单的解决方案是让apache处理https请求,然后简单地将http请求本身(减去CONNECT)传递给mongrel并让它适当地处理它并将其返回到apache然后再返回给客户端。
所以我的问题是,有没有办法使ProxyRemote的工作方式与ProxyPass对HTTP请求的工作方式相同(即将未加密的请求传递给mongrel)?
答案 0 :(得分:1)
只需使用ProxyPass和ProxyPassReverse,您的反向代理(apache)和您的mongrel之间的连接将看到正常的普通http :),没有必要的魔法(特别是没有CONNECT,afaik只能用于转发代理,但我不是肯定)。
答案 1 :(得分:0)
我一直在使用apache来执行https,并使用旧的默认.htaccess mod_rewrite规则传递请求。