随着人们或者企业对于通过互联网传递的数据或者信息的安全性有了更高的认知,越来越多的网站已经将网站的连接由HTTP转向了HTTPS,HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面
那么如何去配置HTTPS的网络连接呢,接下来我们以rhel7.2系统为例进行图文讲解:
1. 生成自签名证书
1.1. 确保已安装crypto-utils软件包
[root@lockey Desktop]# yum install crypto-utils mod_ssl
1.2. 调用genkey,同时为生成的文件指定唯一名称(例如,服务器的主机全名)。
–days可以指定证书有效期
[root@lockey Desktop]# genkey lockey.cheng.com
确认生成的证书和关联的私钥的位置,然后NEXT
选择合适的密钥大小。(默认的2048位密钥为推荐值),然后NEXT
生成随机数并采集
这一步如果是比较正式的会在公网中使用的网站一般会向认证机构发送认证请求,实验环境中我选择不发送认证请求NO(认证并不简单)
接下来的图是我盗用的,因为手抖了一下配置完直接回车没截到图,但是配置的各个条目请看清提示再填写,英语差的别怪我额
配置完成然后NEXT,成功之后结果类似以下
2. 为网站安装证书及其私钥
2.1. 编辑/etc/httpd/conf.d/ssl.conf, 将SSLCertificateFile和SSLCertificateKeyFile指令设置为分别指向X.509证书和密钥文件。
2.2. 重启Web服务器。
[root@server0 ~]# systemctl restart httpd
2.3 测试确认,请使用https协议(https://127.0.0.1)浏览器访问服务器
Web客户端可能会发出它不认可证书发行者的警告。这种情况适用自签名证书。要求Web客户端
绕过证书认证。对于Firefox依次进行以下操作
最后访问成功
3. 网页重写
把所有80端口的请求全部重定向由https来处理,只需要在配置文件中指定就可以了
配置虚拟主机默认配置文件
[root@lockey conf.d]# cat /etc/httpd/conf.d/default.conf
<VIrtualHost *:443>
servername www.cheng.com
documentroot /var/lockey/html
SSLEngine on
SSLCertificateChainFile /etc/pki/tls/certs/localhost.crt
SSLCertificateFile /etc/pki/tls/certs/lockey.cheng.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/lockey.cheng.com.key
<Directory "/var/lockey/html">
require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
servername lockey.cheng.com
rewriteengine on
rewriterule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</VirtualHost>
[root@lockey conf.d]#
重启服务,输入本机hostname进行访问