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

在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
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.jb51.net:443
    GnuTLSEnable on
    GnuTLSCertificateFile ./ssl/www.jb51.net.public.cer
    GnuTLSKeyFile ./ssl/www.jb51.net.private.key
    DocumentRoot "/data/wwwroot/www.jb51.net/webroot"
</VirtualHost>

<VirtualHost 10.1.1.22:443>
    ServerName www.jb51.net:443
    GnuTLSEnable on
    GnuTLSCertificateFile ./ssl/www.jb51.net.public.cer
    GnuTLSKeyFile ./ssl/www.jb51.net.private.key
    DocumentRoot "/data/wwwroot/www.jb51.net/webroot"
</VirtualHost>

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

时间: 2024-09-25 15:54:06

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

apache中httpd.conf的中文件详解

ServerRoot /Apache#可以用绝对路径 e:webapache#ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerRoot定义的路径之下.PidFile logs/httpd.pid#PidFile指定的文件将记录httpd守护进程的进程号,由于httpd能自动复制其自身,因此系统中有多个httpd进程,但只有一个进程为最初启动的进程,它

PHP的服务器Apache中httpd.conf 的中文详解

ServerRoot "/Apache" #可以用绝对路径 e:\web\apache #ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerRoot定义的路径之下. PidFile logs/httpd.pid #PidFile指定的文件将记录httpd守护进程的进程号,由于httpd能自动复制其自身,因此系统中有多个httpd进程,但只有一

PHP Apache中httpd.conf中文详解

ServerRoot "/Apache" #可以用绝对路径 e:\web\apache #ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerRoot定义的路径之下. PidFile logs/httpd.pid #PidFile指定的文件将记录httpd守护进程的进程号,由于httpd能自动复制其自身,因此系统中有多个httpd进程,但只有一

linux下不重新编译apache添加安装mod_ssl模块和错误的处理方法

安装步骤 1.进入apache源码目录. 2.进入module文件夹下的ssl目录. 3.找到oepnssl 的include路径,ubuntu系统是在/usr/include/openssl目录. 4.运行apxs root@v238:~/httpd-2.2.26/modules/ssl# /usr/local/apache2/bin/apxs -i -c -a -D HAVE_OPENSSL=1 -I /usr/include/openssl -lcrypto -lssl -ldl *.c

mod_myvhost 0.21发布 PHP虚拟主机的Apache模块

mod_myvhost 是一个用于动态配置基于域名的PHP大规模http://www.aliyun.com/zixun/aggregation/14840.html">虚拟主机的Apache模块.可以将虚拟主机配置和PHP设置存储到MySQL数据库中,无需每个虚拟主机的apache配置文件,配置更改后不需要重新启动apache.它能够动态更改任何虚拟主机的PHP设置,在默认情况下,设置open_basedir作为虚拟主机的rootdir,你可以改变任何在php.ini中的参数. mod_m

Apache中利用mod_rewrite实现防盗链_Linux

 前提Apache中的mod_rewrite模块为激活状态,既然要消灭掉mp3文件的盗链就顺便也把图片盗链的设置给做了,下面是我在网站根目录的.htaccess文件中的配置,供同病相怜之人参考:.  view plaincopy to clipboardprint?<ifmodule mod_rewrite.c>  #开启mod_rewrite引擎   RewriteEngine On  #设置合法请求源    <ifmodule mod_rewrite.c>   #开启mod_r

apache下mod_gnutls实现多HTTPS虚拟主机

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

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虚拟主机的好处在于,一些小规模的网站,通过跟其他网站共享同一台物理机器,可以减少系统的运行成本,并且可以减少管理的难度.另外,对于个人用户,也可以使用这种虚拟主机方式