了解为什么通常在输入网址后,为什么会自动添加前缀 https:// ? https 又是什么?
配置 SSL 加密证书
-
服务器配置
[root@httpserver ~] # yum install mod_ssl -y # 安装证书生成软件 [root@httpserver ~] # firewall-cmd --permanent --add-servie=https [root@httpserver ~] # firewall-cmd --reload [root@httpserver ~] # systemctl restart httpd
-
客户端测试
使用浏览器访问https://172.25.254.101 查看证书情况
配置自己的证书文件
[root@httpserver ~] # yum install crypto-utils -y # 此软件用来生成自己的key
[root@httpserver ~] # genkey luke.com # 指定证书名称luke.com
-
写入 ssl.conf 配置文件
[root@httpserver ~] # vim /etc/httpd/conf.d/ssl.conf 101 SSLCertificateFile /etc/pki/tls/certs/luke.com.crt 108 SSLCertificateKeyFile /etc/pki/tls/private/luke.com.key [root@httpserver ~] # systemctl restart httpd
-
客户端测试
清空浏览器缓存
HTTPS 添加自动跳转
-
服务端配置
安装该软件后,客户想访问web就自动跳转到https:// ,我们以login.westos.com 为例
[root@httpserver ~] # vim /etc/hosts 192.168.1.142 login.westos.com # 先将该域名加入本地地址解析文件 [root@httpserver ~] # mkdir -p /var/www/westos.com/login.html [root@httpserver ~] # vim /etc/httpd/conf.d/login.conf # 编辑login虚拟主机 <VirtualHost *:443> # HTTPS 默认使用443端口 SSLEngine on # 开启证书认证 ServerName login.westos.com # 指定访问的域名 DocumentRoot /var/www/westos.com/login/html # 指定发布目录 CustomLog logs/default.log combined SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt # 证书公钥文件 SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key # 证书私钥文件 </VirtualHost> <Directory "/var/www/westos.com/login/html"> # 目录授权 Require all granted # 允许所有人访问该目录 </Directory> <VirtualHost *:80> # HTTP 默认80端口 ServerName login.westos.com RewriteEngine On # 开启 url 重写 RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301] # url 重写规则
## 客户端输入 login.westos.com 访问时,默认使用80端口,该配置文件指定重写url,添加了HTTPS后, ## 就访问443端口,然后进行SSL证书验证,所以该配合文件写入这两个内容 ^(/.*)$ ## 客户在浏览器地址栏输入的所有字符内容 https:// ## 强制客户加密访问 %{HTTP_HOST} ## 客户请求主机 $1 ## 表示^(/.*)$的值 [redirect=301] ## 临时重写,302表示linshi转换
-
客户端测试
清空浏览器缓存