2008-11-12 125 views
2

我们需要在Apache反向代理上设置安全证书。 我们已建议我们需要使用虚拟主机指令。Apache反向代理设置SSL证书

我已经在O'Reilly书中找到了这些,找不到任何能够专门提取https的例子。

有没有人有任何配置片段的例子来做到这一点?

回答

4

我不完全确定你在问什么,但是有很多东西是你需要的。例如,您需要获得SSL证书,然后您需要将mod_ssl安装到您的Apache中。我建议你使用系统的软件包管理器等安装..

这是一个例子虚拟主机:

<VirtualHost IP.ADDRESS.HERE:443> 
    DocumentRoot /web/domain.com/www/htdocs 

    ServerName www.domain.com 
    ServerAdmin [email protected] 

    SSLEngine on 
    SSLCertificateFile /usr/local/etc/apache/ssl.crt/www.domain.com.crt 
    SSLCertificateKeyFile /usr/local/etc/apache/ssl.key/www.domain.com.key 

    ErrorLog "/var/logs/domain.com/error_log" 
    CustomLog "|/usr/local/sbin/cronolog /var/logs/domain.com/%Y/%m/access_log" combined 
</VirtualHost> 

<VirtualHost />内部的代理配置可以有所不同。这假设域指向您的服务器上的目录,但您在<VirtualHost />内所做的是由您决定的。

正如我所说的,我也只好SSL安装到Apache中,加载我需要以下模块:

LoadModule ssl_module libexec/apache/libssl.so 
... 
AddModule mod_ssl.c 

而这基本上它。让我知道你是否需要更多的指针。在这种情况下,如果您告诉我们是否运行Apache 1.3或2.x,它也会有所帮助。

+0

你没有明确说出来,但是SSL必须用IP地址来完成,你不能使用虚拟主机名。 – Todd 2008-11-12 12:17:41

2

不知道这是否是你追求的,但我用像过去执行以下操作:

<IfModule mod_ssl.c> 
    SSLProxyEngine On 
    ProxyPreserveHost On 
    RewriteRule ^/whatever(.*)$  https://otherhost/whatever$1 [P] 
</IfModule> 

我需要从另一台主机代理安全的内容,而这正是我们最终使用。运行良好,并且已经有一段时间了。这种掩饰你在找什么?