在Apache上实现多HTTPS虚拟主机

导读 在apache的环境下该如何配置多HTTPS虚拟主机呢?利用的原理的都是同一个,也就是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

# 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模块

# 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

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

创建回话缓存目录

# mkdir -m 0700 /var/cache/mod_gnutls_cache  # chown nobody.nobody /var/cache/mod_gnutls_cache

4. 配置虚拟主机

<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/

本文原创地址:https://www.linuxprobe.com/apache-https-virtual-host.html编辑:public,审核员:暂无

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。
超哥软件库 » 在Apache上实现多HTTPS虚拟主机