configurationApache2.2为http httpsencryption器/转换器

我在使用mod_ssl的SUSE 10上使用Apache 2.2。

我的问题:我想连接一个客户端(仅支持http)到服务器(仅支持HTTPS)。 所以我想部署Apache作为代理将HTTP消息转换为HTTPS消息。 我将在Apache本身上安装服务器的证书。 注意:这里的客户端和服务器不是普通的浏览器和web服务器。 这些是使用自定义端口的基于SOAP的Web服务(不使用端口80或443)

我的意图部署是这样的:客户端———-> Apache(代理)———–> HTTPS服务器

我的问题是:1)这种types的部署可能使用Apache? 2)在Apache中需要什么configuration? 3)任何特定的Apache模块是neede?

我已经尝试了“RewriteEngine”和“RewriteRule”,正如大多数网站所build议的那样。 我从Apache服务器得到以下错误“302 Found”错误代码。

你可以有Client ---> Apache(proxy) ---> HTTPS Server

但是,您需要将Apache Httpdconfiguration为反向代理。 (一个正常的HTTP代理使用CONNECT来处理HTTPS请求:这期望客户端能够使用HTTPS本身,因为它只是中继连接)。 为此,您需要使用mod_proxy (和mod_proxy_http )并使用SSLProxy*指令,如mod_proxy文档中所述。 (使用mod_proxy和SSL的反向代理服务器通常是反过来使用的。)

不利的一面是可能会造成很大的负担。 据推测,这个HTTPS服务器仅仅使用HTTPS是有原因的:你希望你的代理尽可能的靠近你的客户端,以避免把这个站点的非HTTP变种暴露给其他人。

这就是说,正如@ Zoredache在评论中所说,像stunnel这样的工具可能更适合这个。 你可以更容易地在客户机上设置它。 如果configuration为正确validation证书,则可以为您提供与客户端中的HTTPS类似的安全级别。 (不过,您至less需要保护客户机本身。)

有一点可以想到,一些特定于HTTPS的信息可能会以不同的方式处理,特别是安全的cookie,浏览器不会发送给服务器(因为它不会通过HTTPS连接):这可能不是一个问题的基于SOAP的Web服务。