https基本配置

httpshttp over ssl的缩写。监听在TCP443端口上,可以基于ssltls协议实现http协议的安全传输。可以帮助客户端完成服务器认证,即可确保访问的服务器为所要访问的服务器,又能保证数据传输的完整性、保密性。

用户和服务器端基于https进行会话的时候,首先要建立SSL会话,下面图是建立SSL会话的过程:

一、其中建立SSL的过程为:

(1) 客户端发送给服务器端可供选择的加密方式,并向服务器请求证书;

(2) 服务器端发送证书以及选定的加密方式给客户端;

(3) 证书验正:

         如果信任给其发证书的CA

                   (a)验正证书来源的合法性;用CA的公钥解密证书上数字签名;

                   (b)验正证书的内容的合法性:完整性验正

                   (c)检查证书的有效期限;

                   (d)检查证书是否被吊销;

                   (e)证书中拥有者的名字,与访问的目标主机要一致;

(4) 客户端生成临时会话密钥(对称密钥),并使用服务器端的公钥加密此数据发送给服务器,完成密钥交换;

(5) 服务用此密钥加密用户请求的资源,响应给客户端;

注意:SSL会话是基于IP地址创建;所以单IP的主机上,仅可以使用一个https虚拟主机;

二、配置httpd支持https

         (1) 为服务器申请数字证书;

                   测试:通过私建CA发证书

                            (a) 创建私有CA

                            (b) 在服务器创建证书签署请求

                            (c) CA签证

         (2) 配置httpd支持使用ssl,及使用的证书;

                   # yum -y install mod_ssl

 

                   配置文件:/etc/httpd/conf.d/ssl.conf

                            DocumentRoot

                            ServerName

                            SSLCertificateFile

                            SSLCertificateKeyFile

         (3) 测试基于https访问相应的主机;

                   # openssl s_client [-connecthost:port] [-cert filename] [-CApath directory] [-CAfile filename]

 

举例:

这里准备三个虚拟机,V1作为web服务器端,V2为客户端,V3为证书服务器。

1、在V3主机上建立私有CA

、建立自签证书:

、填入CA信息:

、给证书创建数据库索引文件和序列号:

至此证书就建立完成了。建立的CAcacert.pem

5、在V1端创建秘钥:

、建立证书签署请求(主机名一定要和服务器的主机名保持一致,否则会验证不通过):

(邮箱地址和面可以选填)

7、在V1上把V1的证书签署请求发给证书服务器V3上,随便放在一个目录中即可:

、在V3上签署V1的证书请求:

、在V3上把V3签署后的证书发到V1

这样,证书签署就完成了。

下面开始zai V1上配置httpd

由于http默认没有ssl模块,所以要安装一下组件(一定要配置好yum仓库啊!!!)

yuminstall Cy mod_ssl

修改ssl.conf配置文件

650) this.width=650;” src=”http://www.fwqtg.net/wp-content/uploads/2015/06/wKioL1VxfZPwIx4wAADL8tKYpb8538.jpg” style=”float:none;” title=”12.png” alt=”https基本配置” />

再编辑V1httpd配置文件/etc/httpd/conf/httpd.conf修改虚拟主机并修改V2/etc/host文件,此编辑方法在上一篇文章中有,不再赘述;

启动httpd服务器service httpd start

查看443端口是否开启ss Ctnl 1 | grep 443

在V1中编辑好页面后用V3V2发一份证书

并在V2上用openssl访问V1测试

至此,就可以访问基于sslhttp服务器了^_^~

以上内容如有偏颇,望及时指正!


发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注