apache mod_gnutls实现多HTTPS虚拟主机

2016-10-15 17:23:20 7025

在apache的环境下该如何配置呢?利用的原理的都是同一个,也就是SNI。基于域名的虚拟主机,即共享同一个IP地址和端口的HTTPS虚拟主机。

SNI---服务器名称指示,是一个TLS的扩展,它使得启用SSL的基于域名的虚拟主机的配置成为可能。打破了每个HTTPS的虚拟主机需要一个IP地址的要求。因此,成本大大降低,因为所有的HTTPS虚拟主机可以共享相同的IP地址和端口,使HTTPS Web服务的更简单。

在apache环境下,需要使用mod_gnutls来实现同一个IP上配置多个HTTPS主机。下面来看看实现过程:

mod_gnutls的网址参见:https://www.landui.com

1. 安装mod_gnutls

1

2

3

4

5

6

# yum install httpd-devel gnutls-devel

# wget http://www.landui.com/downloads/mod_gnutls/mod_gnutls-0.2.0.tar.bz2

# tar -xjvf mod_gnutls-0.2.0.tar.bz2

# cd mod_gnutls-0.2.0

# ./configure --prefix=/usr

# make

如果要安装高版本的gnutls的话,需要先安装相对应的依赖包libnettle gmplib。下载地址:http://www.landui.com/download.html  ftp://ftp.gnutls.org/gcrypt/gnutls

2.  apache加载mod_gnutls模块

1

2

# cp mod_gnutls-0.2.0/src/.libs/libmod_gnutls.so /usr/lib/httpd/modules/mod_gnutls.so

# cp mod_gnutls-0.2.0/data/{dh,rsa}file /etc/httpd/conf/

mod_gnutls模块依赖dhfile和rsafile文件.

3. 配置httpd.conf

1

2

3

4

5

6

7

Listen 10.1.1.22:443

LoadModule gnutls_module modules/mod_gnutls.so

AddType application/x-x509-ca-cert .crt

AddType application/x-pkcs7-crl    .crl

GnuTLSCache dbm "/var/cache/mod_gnutls_cache"

GnuTLSCacheTimeout 300

NameVirtualHost 10.1.1.22:443

创建回话缓存目录

1

2

# mkdir -m 0700 /var/cache/mod_gnutls_cache

# chown nobody.nobody /var/cache/mod_gnutls_cache

4. 配置虚拟主机

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<VirtualHost 10.1.1.22:443>

    ServerName www.ttlsa.com:443

    GnuTLSEnable on

    GnuTLSCertificateFile ./ssl/www.ttlsa.com.public.cer

    GnuTLSKeyFile ./ssl/www.ttlsa.com.private.key

    DocumentRoot "/data/wwwroot/www.landui.com/webroot"

</VirtualHost>

 

<VirtualHost 10.1.1.22:443>

    ServerName www.heytool.com:443

    GnuTLSEnable on

    GnuTLSCertificateFile ./ssl/www.heytool.com.public.cer

    GnuTLSKeyFile ./ssl/www.heytool.com.private.key

    DocumentRoot "/data/wwwroot/www.landui.com/webroot"

</VirtualHost>

这样访问每个虚拟主机都正常。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: