apache mod_gnutls实现多HTTPS虚拟主机
在前篇《nginx 同一个IP上配置多个HTTPS主机》说到了nginx下,多HTTPS虚拟主机的配置。那么在apache的环境下该如何配置呢?利用的原理的都是同一个,也就是SNI。基于域名的虚拟主机,即共享同一个IP地址和端口的HTTPS虚拟主机。
SNI---服务器名称指示,是一个TLS的扩展,它使得启用SSL的基于域名的虚拟主机的配置成为可能。打破了每个HTTPS的虚拟主机需要一个IP地址的要求。因此,成本大大降低,因为所有的HTTPS虚拟主机可以共享相同的IP地址和端口,使HTTPS Web服务的更简单。
在apache环境下,需要使用mod_gnutls来实现同一个IP上配置多个HTTPS主机。下面来看看实现过程:
mod_gnutls的网址参见:https://mod.gnutls.org
1. 安装mod_gnutls
1
2
3
4
5
6
|
# yum install httpd-devel gnutls-devel
# wget http://www.outoforder.cc/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.gnutls.org/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.ttlsa.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.heytool.com/webroot"
<
/
VirtualHost
>
|
这样访问每个虚拟主机都正常。
参考文档:http://www.g-loaded.eu/2007/08/10/ssl-enabled-name-based-apache-virtual-hosts-with-mod_gnutls/
成长的对话版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!