在一个IP地址上托管多个SSL网站与Apache 2.2和GnuTLS(Debian Lenny)

使用Apache 2.2和GnuTLS(Debian Lenny)在一个IP地址上托管多个SSL网站

本教程介绍如何使用Debian Lenny服务器上的Apache 2.2和GnuTLS在一个IP地址上托管多个SSL加密的网站(HTTPS)。

有关为什么在OpenSSL 0.98g或GnuTLS之前无法完成的更多信息,请参阅http://en.wikipedia.org/wiki/Server_Name_Indication

我将提到在同一个IP地址下的虚拟主机SSL在开始之前和之前任何人开始窃取并将IP返回给他们的ISP都有1或2个警告。

1. Firefox 2.0+适用于所有平台(Mac / Windows / Linux) - 它具有自己的TLS实现 - 如果您为VMware工具启用了SSLv2,则Firefox也不起作用,但默认情况下Firefox附带的v2默认为禁用
2. Windows XP不支持SNI,在世界上仍然拥有40%的份额,因此除非在XP上使用Firefox,否则可能会疏远很多人。
3. Safari / Chrome / IE浏览器只能使用Vista或更高版本,因为它们使用O / S TLS实现
Safari / Chrome只能在Mac上使用10.5.7或更高版本

让我们假设你已经写了一个很酷的Web 2.0应用程序后面的SSL,只运行在最新和最好的浏览器,因为过多的Javascript,我上面所说的一切都会很好,因为你的网站不会工作在旧的浏览器O /无论如何没有Firefox。

您可以访问以下网址来测试浏览器是否通过了SNI: https//sni.velox.ch/

让我们开始:

apt-get install libapache2-mod-gnutls
a2dismod ssl
a2enmod gnutls

编辑/etc/apache2/ports.conf并添加以下行:

Listen 443

还要在/etc/apache2/ports.conf中注释掉以下内容:

 <IfModule mod_ssl.c>
    # SSL name based virtual hosts are not yet supported, therefore no
    # NameVirtualHost statement here
   Listen 443
</IfModule>

最后创建一个名为/etc/apache2/ssl.conf的文件:

NameVirtualHost xx.yy.zz.kk:443
<VirtualHost xx.yy.zz.kk:443>
ServerName secure.domain1.com:443
GnuTLSEnable on
GnuTLSCertificateFile /etc/apache2/ssl-certs/secure.domain1.com.crt
GnuTLSKeyFile /etc/apache2/ssl-certs/secure.domain1.com.key
GnuTLSPriorities NORMAL
DocumentRoot /web/www1

</VirtualHost>

<VirtualHost xx.yy.zz.kk:443>
ServerName secure.domain2.com:443
GnuTLSEnable on
GnuTLSCertificateFile /etc/apache2/ssl-certs/secure.domain2.com.crt
GnuTLSKeyFile /etc/apache2/ssl-certs/secure.domain2.com.key
GnuTLSPriorities NORMAL
DocumentRoot /web/www2

</VirtualHost>

/etc/apache2/apache2.conf中添加包含行:

Include "/etc/apache2/ssl.conf"

最后重新启动Apache2:

apache2ctl restart

关于Godaddy SSL的注意事项:

通过Godaddy,您通常可以使用以下OpenSSL指令将gd_bundle导入到Apache中:

SSLCertificateChainFile /etc/apache2/ssl-certs/gd_intermediate_bundle.crt

为了在GnuTLS中使用此根证书,只需运行:

cat  gd_intermediate_bundle.crt >> /etc/apache2/ssl-certs/secure.domain1.com.crt

这简单地将捆绑包附加到证书的末尾,GnuTLS非常高兴使用它。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏