2008-12-08 48 views
1

所以我有一个自定义代理,它是用ruby编写的,使用mongrel来处理一些相当复杂的缓存逻辑。这对于http和ftp请求都很有效,但是因为mongrel并不是用来处理https请求的,所以我希望用apache来完成整个事情,并且使用ProxyRemote命令来通过https请求传递给mongrel。apache的ProxyRemote可以用于代理混合处理的HTTPS请求吗?

这种事情很容易通过Apache中的ProxyPass和ProxyPassReverse命令来镜像某些站点目录结构,但我没有看到使用ProxyRemote执行此操作的方法。

问题是,杂种不处理建立安全请求的CONNECT请求。因此,虽然我能够在代理本身内处理https请求,但直接使用https请求直接使用代理不受支持。

似乎最简单的解决方案是让apache处理https请求,然后简单地将http请求本身(减去CONNECT)传递给mongrel,并让它适当地处理它,并将其返回给apache,然后返回给客户端。

所以我的问题是,有没有办法使ProxyRemote的工作方式与ProxyPass对HTTP请求的处理方式相同(即将未加密的请求传递给mongrel)?

回答

0

哼,你有没有试过吗?

我一直在使用Apache来做HTTPS,只是传递了旧的默认.htaccess mod_rewrite规则的请求。

1

只要使用ProxyPass和ProxyPassReverse,你的反向代理(apache)和你的杂种之间的连接将会看到普通的普通http :),没有必要的魔法(特别是不是连接,afaik只适用于转发代理,但我是不确定)。