我们需要在Apache反向代理上设置安全证书。 我们被告知我们需要使用虚拟主机指令。
我在O'Reilly书中看过这些内容,找不到任何专门提取https的例子。
有没有人有任何配置片段的例子来执行此操作?
答案 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>
我需要代理来自其他主机的安全内容,这就是我们最终使用的内容。工作正常,并且已经有一段时间了。这样可以涵盖你想要的东西吗?