在Apache上实现多HTTPS虚拟主机
Posted Linux就该这么学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Apache上实现多HTTPS虚拟主机相关的知识,希望对你有一定的参考价值。
纯手工打造每一篇开源资讯与技术干货,数十万程序员和Linuxer已经关注。
导读 | 在apache的环境下该如何配置多HTTPS虚拟主机呢?利用的原理的都是同一个,也就是SNI。基于域名的虚拟主机,即共享同一个IP地址和端口的HTTPS虚拟主机。 |
在apache环境下,需要使用mod_gnutls来实现同一个IP上配置多个HTTPS主机。下面来看看实现过程:
mod_gnutls的网址参见:
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
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>
这样访问每个虚拟主机都正常。
参考文档:
原文来自:
点击左下角查看更多热门技术
以上是关于在Apache上实现多HTTPS虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章