Apache反向代理设置SSL证书

时间:2008-11-12 11:11:56

标签: apache ssl ssl-certificate reverse-proxy

我们需要在Apache反向代理上设置安全证书。 我们被告知我们需要使用虚拟主机指令。

我在O'Reilly书中看过这些内容,找不到任何专门提取https的例子。

有没有人有任何配置片段的例子来执行此操作?

2 个答案:

答案 0 :(得分:4)

我不确定你要求的是什么,但你需要多种东西。例如,您需要获得SSL证书,然后需要将mod_ssl安装到Apache中。我建议您使用系统的包管理器等安装它。

这是虚拟主机的示例:

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

   ServerName www.domain.com
   ServerAdmin server@domain.com

   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 />中执行的操作取决于您。

正如我所说,我还必须在Apache中安装ssl,以加载我需要以下内容的模块:

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

基本上就是这样。如果您需要更多指针,请告诉我。如果您告诉我们您是否运行Apache 1.3或2.x,也会有所帮助。

答案 1 :(得分:2)

不确定这是否是您所追求的,但我过去使用过以下内容:

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

我需要代理来自其他主机的安全内容,这就是我们最终使用的内容。工作正常,并且已经有一段时间了。这样可以涵盖你想要的东西吗?