apache下mod_gnutls实现多HTTPS虚拟主机

多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

 代码如下 复制代码

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

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

4. 配置虚拟主机

 

 代码如下 复制代码

<VirtualHost 10.1.1.22:443>
    ServerName 你的域名2:443
    GnuTLSEnable on
    GnuTLSCertificateFile ./ssl/你的域名2.public.cer
    GnuTLSKeyFile ./ssl/你的域名2.private.key
    DocumentRoot "/data/wwwroot/你的域名2/webroot"
</VirtualHost>

<VirtualHost 10.1.1.22:443>
    ServerName 你的域名:443
    GnuTLSEnable on
    GnuTLSCertificateFile ./ssl/你的域名.public.cer
    GnuTLSKeyFile ./ssl/你的域名.private.key
    DocumentRoot "/data/wwwroot/你的域名/webroot"
</VirtualHost>

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

时间: 2024-07-31 22:56:56

apache下mod_gnutls实现多HTTPS虚拟主机的相关文章

Apache实现本地建立泛域名虚拟主机的方法_Linux

本文讲述了Apache实现本地建立泛域名虚拟主机的方法.分享给大家供大家参考,具体如下: 在本地建立泛域名虚拟主机,可以修改Apache的安装目录下的conf/httpd.conf,如下: <VirtualHost *:80> ServerName auciou.com ServerAlias *.auciou.com DocumentRoot F:/site/auciou </VirtualHost> 重启Apache,就可以在本地同时使用auciou.com和xxx.aucio

Apache、Nginx和Tomcat之虚拟主机配置

在主配置添加如下,配置完主配置文件都必须重启或重新加载才生效 1.Apache基于域名虚拟主机 1 2 3 4 5 6 7 8 vi /etc/httpd/conf/httpd.conf <VirtualHost *:80> DocumentRoot /var/www/test.com ServerName www.test.com ServerAlias test1.com ErrorLog "/var/www/logs/test.com-error_log" Custo

linux服务器下完美解决无法删除虚拟主机文件或文件夹_Linux

FTP工具软件会提示Permission Denied(没有权限),或者 550删除目录操作失败.今天小残在操作FTP的时候就出现了这种问题. 出现的原因一般都是这些目录或文件是PHP程序以管理员用户写入的,而一般虚拟主机的用户名下的用户又没有管理员用户组的权限,因此无法删除. 大家在使用Linux的虚拟主机时候有没有出现过通过FTP无法删除网站路径中的一些文件夹和文件 我们可以把下面这个PHP代码放到对应的虚拟主机的空间上运行,按提示输入文件夹或文件名即可.(注意这里最好使用相对路径.) <?

apache服务器配置多个网站环境(虚拟主机)

step1: 1.打开C:/Windows/System32/drivers/etc step2:修改域名的解析地址 127.0.0.1       111cn.net #一个例子 step3:修改apache http.conf文件配置让其支持虚拟主机  代码如下 复制代码 # Virtual hosts Include conf/extra/httpd-vhosts.conf 取消掉这一样前边的井号如果没有自行添加即可 LoadModule vhost_alias_module module

apache中使用mod_gnutls模块实现多个SSL站点配置(多个HTTPS协议的虚拟主机)_Linux

在apache的环境下该如何配置多个HTTPS虚拟主机呢?利用的原理的都是同一个,也就是SNI.基于域名的虚拟主机,即共享同一个IP地址和端口的HTTPS虚拟主机. SNI-服务器名称指示,是一个TLS的扩展,它使得启用SSL的基于域名的虚拟主机的配置成为可能.打破了每个HTTPS的虚拟主机需要一个IP地址的要求.因此,成本大大降低,因为所有的HTTPS虚拟主机可以共享相同的IP地址和端口,使HTTPS Web服务的更简单. 在apache环境下,需要使用mod_gnutls来实现同一个IP上配

Apache下服务器虚拟主机的设置方法介绍

一.WWW服务器虚拟主机原理 WWW服务器虚拟主机是指使用一台物理机器,充当多个主机名的WWW服务器.比如由一台机器同时提供http://www.company1.com, http://www.company2.com 等的WWW服务,而浏览这些WWW站点的用户感觉不到这种方式下跟由不同的机器提供不同的服务有什么差别. 使用WWW虚拟主机的好处在于,一些小规模的网站,通过跟其他网站共享同一台物理机器,可以减少系统的运行成本,并且可以减少管理的难度.另外,对于个人用户,也可以使用这种虚拟主机方式

Apache下服务器虚拟主机设置方法介绍

一.WWW服务器虚拟主机原理 WWW服务器虚拟主机是指使用一台物理机器,充当多个主机名的WWW服务器.比如由一台机器同时提供http://www.company1.com, http://www.company2.com 等的WWW服务,而浏览这些WWW站点的用户感觉不到这种方式下跟由不同的机器提供不同的服务有什么差别. 使用WWW虚拟主机的好处在于,一些小规模的网站,通过跟其他网站共享同一台物理机器,可以减少系统的运行成本,并且可以减少管理的难度.另外,对于个人用户,也可以使用这种虚拟主机方式

Apache下的虚拟主机设置

一.WWW服务器虚拟主机原理 WWW服务器虚拟主机是指使用一台物理机器,充当多个主机名的WWW服务器.比如由一台机器同时提供http://www.company1.com, http://www.company2.com 等的WWW服务,而浏览这些WWW站点的用户感觉不到这种方式下跟由不同的机器提供不同的服务有什么差别. 使用WWW虚拟主机的好处在于,一些小规模的网站,通过跟其他网站共享同一台物理机器,可以减少系统的运行成本,并且可以减少管理的难度.另外,对于个人用户,也可以使用这种虚拟主机方式

Apache中配置虚拟主机具体说明

在这里,我只介绍一种简单也比较常用的配置虚拟主机的方法.就是基于名称的虚拟主机配置: 第一步: 在conf文件中的httpd.conf中找到  代码如下 复制代码 # Virtual hosts #Include conf/extra/httpd-vhosts.conf 然后把上面的改为: # Virtual hosts Include conf/extra/httpd-vhosts.conf 第二步: 在conf/extra文件下找到httpd-vhosts.conf,在最后面添加如下代码: