配置http使用mod_ssl模块工作于https模型

配置httpd工作于https模型下具实现步骤:使用的httpd服务器IP为192.168.1.132。

(1) 安装mod_ssl模块

# yum install -y mod_ssl

安装该模块后生成的主要文件有:

# rpm -ql mod_ssl

其中/etc/httpd/conf.d/ssl.conf为配置文件。

(2) 为服务端生成私钥,并为其提供证书;

因为是模拟测试使用https的,需要自建CA服务器为httpd服务器下发服务器端证书,所以需要先建立CA服务器,并建立私钥:

# cd /etc/pki/CA

#( umask 077;openssl genrsa –out private/cakey.pem2048 )

CA服务器自身生成的私钥文件为cakey.pem:

然后生成自签证书:

# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3000

可以在/etc/pki/CA目录下看到生成的自签证书文件:

为httpd服务器端生成签署证书文件,步骤:

# mkdir /etc/httpd/ssl && cd /etc/httpd/ssl

# (umask 077; openssl genrsa -out httpd.key 1024);生成私钥;

# openssl req -new -key httpd.key -out httpd.csr;生成证书签署请求文件

CA服务器为httpd服务器签署证书:

# openssl ca -in httpd.csr -out httpd.crt -day 1000

签署后的证书为:/etc/httpd/ssl/httpd.crt

(3) 配置使用https的虚拟主机,假定我们的虚拟主机名称为www2.stuX.com;

修改配置文件/etc/httpd/conf.d/ssl.conf

# vim /etc/httpd/conf.d/ssl.conf

指定SSLCertificateFile和SSLCertificateKeyFile文件所在的具体路径:

在<VirtualHost IP:443>段中添加需要使用https模型的主机名称和对应的文档根目录:

(4) 重新装载配置 # service httpd restart

(5) 将CA服务器的公钥/etc/pki/CA目录下的cacert.pem文件导出到其他系统中,比如window操作系统中,将文件的后缀改为crt,然后导入到浏览器中测试:

可以看到httpd服务器已经工作于https模型下,而且证书出于认证状态。

另外我们可以使用Linux系统自带的openssl s_client工具来测试,需要将公钥文件复制到测试机上:

# scp 192.168.1.132:/etc/pki/CA/cacert.pem ./

# openssl s_client -connect 192.168.1.132:443 -CAfile /root/cacert.pem

可以看到,返回的结果说明,我们的服务器工作在https模型下工作正常。

注:如果在httpd的主配置文件中设置同一虚拟主机工作在http模型下也是可以的,两种模式共存,使用http和https都可以访问站点的资源,如果只在监听了443端口基于ssl模式工作的虚拟主机定义中定义了该虚拟主机,那么只能使用https方式访问。

在一个物理主机中如果同时运行多个虚拟主机,由于ssl会话是基于IP地址建立的,所以物理主机有几个IP地址,相应的就只能有几个虚拟主机使用ssl功能。

配置http使用mod_ssl模块工作于https模型

时间: 2024-11-07 23:29:17

配置http使用mod_ssl模块工作于https模型的相关文章

使用apache&#39;s mod_ssl模块反向代理谷歌镜像

Centos6.5配置反向代理谷歌镜像站点 一.准备工作 域名:www.idweb.top 服务器:CentOS release 6.4 (Final) 内核:2.6.32-358.6.1.el6.x86_64 IP:118.193.243.170 首先保证机器能正常上网,并且有外网ip.空间域名商做了解析记录. 二.配置开始 [[email protected] ~]# yum -y install http mod_ssl 安装完毕后,修改配置文件 [[email protected] ~]

让你提前认识软件开发(52):系统某模块工作原理详述

第3部分 软件研发工作总结 系统某模块工作原理详述 [文章摘要] 某模块在系统中占有非常重要的地位,该模块能够对符合条件的动态信箱进行清理.本模块直接清理的信箱包括:过期动态信箱.冷冻信箱和空动态信箱:删除非动态信箱由本模块发送消息到其它模块完成. 本文对该模块的工作原理的详细介绍,为相关模块的开发和测试提供了有益的参考,同时也有利于现场人员对本模块进行维护. [关键词] 系统  模块  数据库  流程 1. 本模块删除的信箱类型 本模块删除的信箱类型如图1所示: 图1 本模块删除的信箱类型 2

基于mod_ssl模块实现httpd对ssl的支持

如果大家在浏览百度.或者Google时不难发现,这些网站都实现了全站https,https相对于http而言,由于增加的ssl隧道传输机制,安全性得到了极大的提升,所以全站https将是未来站点的趋势所在,而httpd默认是不支持https的,由于httpd有着强大的模块支持,这里我们通过httpd众多模块中的一个--mod_ssl来实现https. 我们都知道,http是基于文本协议来传输数据的,默认是使用tcp的80端口对外通信的,而https则不同,https基于二进制格式的协议传输,安全

Python内置的urllib模块不支持https协议的解决办法

Django站点使用django_cas接入SSO(单点登录系统),配置完成后登录,抛出“urlopen error unknown url type: https”异常.寻根朔源发现是python内置的urllib模块不支持https协议. >>> import urllib>>> urllib.urlopen('http://www.baidu.com')<addinfourl at 269231456 whose fp = <socket._fileo

MySQL各模块工作配合

MySQL各模块工作配合 在了解了 MySQL 的各个模块之后,我们再看看 MySQL 各个模块间是如何相互协同工作的 .接下来,我们通过启动 MySQL,客户端连接,请求 query,得到返回结果,最后退出,这样一整个过程来进行分析. 当我们执行启动 MySQL 命令之后, MySQL 的初始化模块就从系统配置文件中读取系统参数和命令行参数,并按照参数来初始化整个系统,如申请并分配 buffer,初始化全局变量,以及各种结构等.同时各个存储引擎也被启动,并进行各自的初始化工作.当整个系统初始化

如何查看nginx的版本及配置选项?nginx都配置了哪些的模块?

需求描述: 新接手别人的nginx,想要查看当前都配置了哪些模块 操作过程: 1.通过nginx -V选项查看nginx的配置选项 [[email protected] sbin]# ./nginx -V nginx version: nginx/1.14.0 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) built with OpenSSL 1.0.1e-fips 11 Feb 2013 TLS SNI support enabled

openSUSE下配置Apache开启重写模块

这几天刚重装了系统,需要进行一大堆配置,笔者是一名LAMPer,当然要配置apache+php+mysql了,我用的发行版是opensuse13.1,. 安装好apache后,需要开启URL重写功能以配合项目的开发.打开apache的配置文件/etc/apache2/httpd.conf,找到AllowOverride None,改成AllowOverride ALL,再找到Option None改为Option FollowSymLinks .这样还不行,还要加载Rewrite模块. Rewr

如何编写package.json配置NodeJS项目的模块声明

在NodeJS项目中,用package.json文件来声明项目中使用的模块,这样在新的环境部署时,只要在package.json文件所在的目录执行 npm install 命令即可安装所需要的模块. package.json文件中可配置的项有:名称(name).应用描述(description).版本号(version).应用的配置项(config).作者(author).资源仓库地址(repository).授权方式(licenses).目录(directories).应用入口文件(main)

Linux下安装php环境并且配置Nginx支持php-fpm模块[www]

Linux下安装php环境并且配置Nginx支持php-fpm模块 http://www.cnblogs.com/freeweb/p/5425554.html 5分钟搭建 nginx +php --------------(LNMP)新手专用 http://blog.csdn.net/dyllove98/article/details/41120789 配置Nginx来支持php http://www.cnblogs.com/jecyhw/p/5504855.html nginx+php的配置与