https
1.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之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape
Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
2.配置 HTTPS
yum install -y httpd mod_ssl ##安装Apache服务及mod_ssl密钥生成模块
systemctl reload httpd ##重新加载Apache服务
yum install -y crypto-utils.x86_64 ##安装crypto-utils加密工具
genkey www.westos.com ##生成密钥
Next >> 1024 >> Next >> No >> Next >>
##填写密钥信息
>> CN
>> shannxi
>> xi'an
>> westos
>> linux
>> www.westos.com
vim /etc/httpd/conf.d/ssl.conf
100 SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
107 SSLCertificateKeyFile /etc/pki/tls/certs/www.westos.com.key
3.测试服务
完成后重载apache服务,
echo`hostname`>/var/www/html/index.html ##写入测试文件
打开firefox,地址栏输入https://localhost
如果访问到刚写入的内容并且有加密协议(地址栏前面有个锁)说明配置生效
- 它写的是我的证书不被信任,当然了,我的证书又没被认证。(点I Understand the Risks)
- 再点Add Exception
直接输入localhost访问的页面是未加密的,如下图
https网页重写
- 把所有 80 端口的请求全部重定向由 https 来处理
vim /var/www/westos/login/html/login.conf
<Virtualhost *:443>
ServerName login.westos.com
DocumentRoot /var/www/westos/login/html
CustomLog "logs/login.log" combined
SSLEngine on 开启https功能
SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
证书
SSLCertificateKeyFile /etc/pki/tls/certs/www.westos.com.key
密钥
</Virtualhost>
<Directory "/var/www/westos/login/html">
Require all granted
</Directory>
<Virtualhost *:80>
ServerName login.westos.com
RewriteEngine on 开启网页重写功能
RewriteRule ^(/.*)$ https://${HTTP_HOST}$1 [redirect=301]
</Virtualhost>
^(/.*)$ 客户主机在地质栏中写入字符不包括换行符
https:// 丁香成为的访问协议
${HTTP_HOST} 客户主机请求
$1 $1的值表示^(/.*)$的值
[redirect=301] 临时重定向 302表示永久重定向
- 重载apache服务后,地址栏不管输的是localhost还是https://localhost,都重写到了https://localhost