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

 更新时间:2014年06月30日 09:09:58   投稿:junjie  
这篇文章主要介绍了apache中使用mod_gnutls模块实现多个SSL站点配置,也就是多个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
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>

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

相关文章

  • Linux流媒体服务器部署流程

    Linux流媒体服务器部署流程

    文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建
    2025-02-02
  • jmeter 在linux服务器的安装和运行教程图解

    jmeter 在linux服务器的安装和运行教程图解

    本文通过图文并茂的形式给大家介绍了jmeter 在linux服务器的安装和运行的,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • Linux查看和关闭后台运行程序的方法

    Linux查看和关闭后台运行程序的方法

    这篇文章主要介绍了Linux查看和关闭后台运行程序的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Linux中使用Cron定时执行SQL任务的实现步骤

    Linux中使用Cron定时执行SQL任务的实现步骤

    在Linux系统中,计划任务(Cron)是一种强大的工具,可以自动执行预定的任务,它非常适合定期运行脚本、备份数据、清理临时文件等一系列重复性任务,本文给大家介绍了如何在Linux中使用Cron定时执行SQL任务,需要的朋友可以参考下
    2024-11-11
  • linux 下隐藏进程的一种方法及遇到的坑

    linux 下隐藏进程的一种方法及遇到的坑

    这篇文章主要介绍了linux 下隐藏进程的一种方法,主要实现思路就是利用 LD_PRELOAD 来实现系统函数的劫持,具体实现代码,需要的朋友可以参考下
    2018-09-09
  • Linux配置和使用i3窗口管理器的教程

    Linux配置和使用i3窗口管理器的教程

    今天小编就为大家分享一篇关于Linux配置和使用i3窗口管理器的教程,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • VMware 12 下 Ubuntu 16.04 安装图文教程

    VMware 12 下 Ubuntu 16.04 安装图文教程

    这篇文章主要为大家详细介绍了VMware 12 下 Ubuntu 16.04 安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • ssh远程登陆没有用户名和主机名的解决方法

    ssh远程登陆没有用户名和主机名的解决方法

    这篇文章主要给大家分享了ssh远程登陆没有用户名和主机名的解决方法,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • Centos8环境下修改ssh端口号方法

    Centos8环境下修改ssh端口号方法

    大家好,本篇文章主要讲的是Centos8环境下修改ssh端口号方法,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下哦,方便下次浏览
    2021-12-12
  • 详解linux安装软件的几种方法

    详解linux安装软件的几种方法

    这篇文章主要介绍了linux安装软件的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04

最新评论