一.https
1.基本概念
https定义:加密的超文本传输协议,时基于安全套接字层的http协议
https加密方式:生成密钥和私钥,并且把锁发给用户,如qq邮件
http与https的不同点:
- http的URL是以http://为开头,二https的URL是以https://开头
- http是不安全的,而https是安全的
- http的标准端口是80,而https的标准端口是443
- http无需加密,而https对传输的数据进行加密
2.设定https的虚拟主机
(1)本地http加密
yum install mod_ssl -y ##只要生成了这个软件就能对http加密但是加密后的为本地加密
systemctl restart httpd
本地加密的验证:
在浏览器:
https://172.25.77.102
因为默认访问该ip的时候为http协议,所以选择Advance直接添加https
选择Add Exception
生成证书界面,选择view查看证书
添加证书
(2)生成个人http加密
yum install crypto-utils -y
genkey www.westos.com ##图形配置属于自己的http的加密
注:用tab键选择
图中有证书和密钥的存放路径
-
生成钥匙的加密长度
证书和密匙生成过程中可以在主机中动鼠标和键盘,加快生成速度 -
选择是否将证书送往数字证书认证机构CA,由于是实验,为了节省时间,就选择no
-
选择next
-
添加生成相应的信息
生成的证书:
生成的钥匙:
vim /etc/httpd/conf.d/ssl.conf ##编辑http加密的配置文件加入锁和公钥
验证如下:
在浏览器端:
https://www.westos.com/
手动导入证书
选择view就可以看到证书的内容,可以看到为自己生成的证书
然后就可以看到相应的内容
2.设定https虚拟主机并设定网页重写
(1)设定https虚拟主机
mkdir /var/www/virtual/westos.com/login
cp music.conf /etc/httpd/conf.d/login.conf
vim login.conf
[root@dns conf.d]# mv login.conf z_login.conf ##更改在浏览时的级别,及先浏览ssl.conf下的文件
[root@dns login]# vim index.html ##在该目录下编辑共享文件
配置文件编辑内容如下:
SSLEngine on ##开启https加密
SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt ##添加证书
SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key ##添加钥匙
注:该文件为生成https加密,如果不知道证书和钥匙可以进行如下操作:
vim ssl.conf ##生成证书和钥匙后自动生成的文件,里面有钥匙和证书存放路径
共享文件编辑内容如下:
检测如下:
在真机器添加login的域名解析
vim /etc/hosts
在浏览器:
https://login.westos.com ##可以查看到该目录下默认发布文件中的内容
注:生成的证书只是在虚拟机上用文件生成,所以再用网络第一次访问的时候需要手动导入证书
手动倒入证书步骤如上,这里不再一一赘述,生成证书之后下次就可用https直接访问
(2)设定https网页重写
定义:在访问加密的https的解析地址时,首先就要输入https://;而用http时可以直接输入网址,因此,可以通过网页重写设定在用https访问解析地址时可以直接输入解析地址 |
[root@dns conf.d]# vim z_login.conf ##编辑该虚拟主机的网页配置文件
编辑内容如下:
<VirtualHost *:80> ##加入80接口的跳转
ServerName login.westos.com
RewriteEngine on ##开启网页重写功能
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301] ##重写规则
systemctl restart httpd
配置参数的详解如下:
参数 | 定义 |
---|---|
^(/.*)$ | 客户在浏览器地址栏中输入的所有字符 |
https:// | 强制客户加密访问 |
%{HTTP_HOST} | 客户请求主机 |
$1 | |
[redirect=301] | 永久重写 |
[redirect=302] |
验证如下:
在浏览器端:
login.westos.com ##会主动补齐https://