https协议及其服务器配置

一、HTTPS概述

1、什么是HTTPS?

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP+SSL。HTTPS提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
SSL(Secure Sockets Layer 安全套接层),是为网络通信提供安全及数据完整性的一种安全协议。

2、HTTPS的主要特点

①数据保密性:把明码文件用加密算法转换成加密的文件以实现数据的保密传输。
②数据完整性:加密的数据在传输过程中如果被篡改,则无法解密数据。
③安全验证性:可通过第三方CA认证机构来验证网站的真实性。

3、HTTPS的工作原理
图片.png
图片.png

私钥:服务器端生成,服务器自己使用,用于加密和解密数据。
公钥:服务器端生成,客户端自己使用,用于加密和解密数据。
证书都是通过第三方认证机构颁发的。

二、配置HTTPS服务器

配置HTTPS服务器所需的证书包括以下几个部分:
Server Key(服务器私钥)
CSR(Certificate Signing Request):证书请求文件(公钥)
CRT(X509 Certificate):X509格式证书
RSA 非对称密码算法;
创建证书的基本流程
生成自己的服务器私钥 Server Key;
输入基本信息并用私钥签名生成CSR,即客户端公钥;
提交CSR给证书机构CA(免费或商业证书)签名生成CRT,或自己做CA签名生成CRT(自签名证书)。

1、生成证书

①使用openssl.exe程序生成私钥KEY
a、openssl.exe文件位置:D:/wamp/Apache24/bin/openssl.exe

b、打开CMD,进入到Apache安装目录下的bin目录下:
图片.png
图片.png
说明:RSA密钥对的默认长度是1024,取值是2的整数次方,并且密钥长度越长,安全性相对会越高。
②使用openssl.exe生成证书请求文件CSR(公钥)

a、CSR是Certificate Signing Request的缩写,即证书签名请求,这不是证书,可以简单理解成公钥,生成证书时要把这个提交给权威的证书颁发机构。
b、填写证书相关信息,并使用server.key私钥进行加密,产生证书请求文件server.csr。

c、命令:openssl req -new -config ../conf/openssl.cnf -key server.key>server.csr
图片.png
图片.png
③使用openssl.exe生成证书文件CRT
a、X.509是一种证书格式,对x.509证书认证者总是CA或由CA指定的人,x.509包含有关用户或设备及其相应公钥的信息。
b、CRT是certificate的缩写,即证书。
c、openssl.cnf是SSL的主配置文件。
图片.png
图片.png
提示:如果想在浏览器显示出安全的绿锁标志,自己颁发的证书肯定不好使,得花钱向第三方权威机构颁发机构申请(我们只需要提交server.key和server.csr文件)。
④将上述3个文件复制到Apache24/conf/key目录下
图片.png
图片.png
2、配置Apache的HTTPS服务器
①修改Apache主配置文件httpd.conf
图片.png
图片.png
图片.png
图片.png

②修改HTTPS虚拟主机配置文件httpd-ssl.conf
在httpd-ssl.conf文件中找到如下各项进行配置

#设置HTTPS的监听端
Listen 443
#添加HTTPS虚拟主机
#<VirtualHost www.hszssl.com:443>
    #证书文件路径
    SSLCertificateFile "D:/wamp/apache24/conf/key/server.crt"
    #私钥文件路径
    SSLCertificatekeyFile "D:/wamp/apache24/conf/key/server.key"

    #HTTPS虚拟主机配置
    #设定虚拟站点名(服务器名)
    ServerName www.hszssl.com
    #设定站点位置(路径)
    DocumentRoot "D:/hszssl"
    #设置日志
    ErrorLog "D:/wamp/apache24/logs/error.log"
    TransferLog "D:/wamp/apache24/logs/access.log"
    #指定目录权限
    <Directory "D:/hszssl">
        #是否启用分布式配置
        AllowOverride None
        #如果首页文件不存在,则显示文件列表
        Options Indexes
        #指定访问的来源
        Require all granted
    </Directory>
</VirtualHost>

③修改Apache的虚拟主机配置文件httpd-vhosts.conf

提示:全站都使用https安全协议访问,不再使用http访问。
图片.png
图片.png
httpd.conf启用rewrite模块
图片.png
图片.png

猜你喜欢

转载自blog.csdn.net/csdn_heshangzhou/article/details/80891328
今日推荐