利用mod_gnutls实现apache单ip多ssl证书多https虚拟主机

系统教程  来源:系统之家论坛  作者:幸运星
2018-08-03 01:30:37
其实类似的说明网络上很早就有,不过估计文章得有十来年没更新了,现在已经略不一样了,比如不用手动设置缓存了。

1、卸载原有ssl支持(如果没安装可以跳过)
这个现在ubuntu都是在/etc/apache2/mods-enabled里直接删除软链接就可以了

2、安装mod_gnutls
现在安装很轻松了,直接如下命令,是不是很神奇-,-b
apt-get install mod_gnutls

3、起用mod_gnutls
用ln -s建立软链接从mods-available到enabled里就可以了,一共两个文件,还有conf文件。

4、 配置httpd.conf(默认在ports.conf里)
此处很重要:Listen 127.0.0.1:443
把ip换成服务器ip,有了这个gnutls才知道证书都走同一个ip同一个端口


5、配置sites-enabled
按样子添成这样。
<VirtualHost 127.0.0.1:443>
    GnuTLSEnable on
    GnuTLSSessionTickets on
    GnuTLSPriorities NORMAL
    DocumentRoot /www/site1.example.com/html
    ServerName site1.example.com:443
    GnuTLSCertificateFile conf/ssl/site1.crt
    GnuTLSKeyFile conf/ss/site1.key
</VirtualHost>
<VirtualHost 127.0.0.1:443>
    GnuTLSEnable on
    GnuTLSPriorities NORMAL
    DocumentRoot /www/site2.example.com/html
    ServerName site2.example.com:443
    GnuTLSCertificateFile conf/ssl/site2.crt
    GnuTLSKeyFile conf/ss/site2.key
</VirtualHost>

6、重启apache服务,打完收工
service apache2 restart