实验:实现https
实现https
环境
1.三台主机分别为A,B,C。
2.A主机设置为CA和DNS服务器,ip为192.168.213.129
3.B主机为client,ip为192.168.213.253
4.C主机为httpd server,ip为192.168.213.128
5.已经在三台主机上启动了httpd服务,并且可以正常访问自己的网页。
1.在A主机上创建CA和DNS服务器
1)创建所需要的文件
生成证书索引数据库文件:
touch /etc/pki/CA/index.txt
系统会自动生成个index.txt.attr文件。用来决定是否使证书为唯一性,也就是是否可以重复申请证书。
指定第一个颁发证书的序列号:
echo 01 > /etc/pki/CA/serial
2)CA自签证书
生成私钥:
cd /etc/pki/CA/
openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048
chmod 600 cakey.pem
生成自签名证书:
openssl req -new -x509 –key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem
3)创建DNS服务器
1》vim /etc/named.conf
options {
listen-on port 53 { any ; };
// listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any ; };
recursion yes;
dnssec-enable no;
dnssec-validation no;
dnssec-lookaside no;
2》关闭防火墙和设置selinux为permissive
iptables -F
setenforce 0
3》创建解析
1>vim /etc/named.rfc1912.zones
zone "ab.com" IN {
type master;
file "ab.com.zone";
};
2>named-checkconf
3>cd /var/named/
4>cp -a named.localhost ab.com.zone
5>vim ab.com.zone
$TTL 1D
@ IN SOA dns admin.ab.com. (
3 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns
dns A 192.168.213.128
websrv A 192.168.213.128
mail A 192.168.213.128
www CNAME websrv
6>named-checkzone ab.com /var/named/ab.com.zone
7>重新加载
rndc reload
service named reload or systemctl reload named
不行的话清除服务缓存,再来一遍
rndc flush
最有效的方式是重启服务(正常工作中尽量别这么用,怕影响其他的同步)
service named restart or systemctl restart named
8>rndc status
2.在C主机
1)指向DNS服务器
vim /etc/resolv.conf
nameserver 192.168.213.129
测试:
dig -t A www.ab.com
2)向CA申请证书
1》生成证书请求
生成私钥:
(umask 066; openssl genrsa -out /etc/pki/tls/private/http.key 2048)
生成证书申请文件:
openssl req -new -key /etc/pki/tls/private/http.key -days 365 -out /etc/pki/tls/http.csr
2》将证书请求文件传输给CA
scp /etc/pki/tls/http.csr root@192.168.213.129:
3.在A主机
1)CA签署证书:
openssl ca -in /tmp/http.csr –out /etc/pki/CA/certs/http.crt -days 365
注意:
默认国家,省,公司名称三项必须和CA一致,但可以修改/etc/pki/tls/openssl.cnf
common name要使用此主机在通信真实使用的名字
2)CA证书和CA签署的证书发送给C主机,然后在C主机上进行配置。
scp /etc/pki/CA/certs/http.crt root@192.168.213.128:
scp /etc/pki/CA/private/cakey.pem root@192.168.213.128:
4.在C主机
1)od_ssl模块
yum -y install mod_ssl
2)d_ssl进行配置,配置文集为ssl.conf
vim /etc/httpd/conf.d/ssl.conf
DocumentRoot "/var/www/html"
SSLCertificateFile /etc/pki/tls/certs/httpd.crt
SSLCertificateKeyFile /etc/pki/tls/private/httpd.key
SSLCACertificateFile /etc/pki/CA/cacert.pem
注:
注意文件的路径,你放在那里就写成什么路径。
3)重启服务,并进行测试
service httpd restart or systemctl restart httpd
curl --cacert /path to/cacert.pem https://www.ab.com
5.在B主机
1》vim /etc/resolv.conf
nameserver 192.168.213.128 (尽量就填写一个)
2》测试
curl www.ab.com
3)CA证书导入
1》A证书从A主机上拷贝过来
scp root@192.168.213.129:/etc/pki/CA/cacert.pem /root/
2》测试
curl --cacert /root/cacert.pem https://www.ab.com
当在B主机上测试成功时,这个https就大致实现了。不过呢,一般都设置个强制跳转,也就是http直接跳到https上。
6.http重定向https(强制跳转)
在C主机上
vim /etc/httpd/conf/httpd.conf
Redirect temp|permanent / https://www.ab.com
注:
temp为临时跳转代号302,permanent为永久跳转代号301,二者二选一。
service httpd restart or systemctl restart httpd
实际上,在实际运行中不是用上面的方法来把http重定向为https的,而是采用HSTS。HSTS使http调整到https的过程中没有网络过程,减少请求次数,节约了网络资源,所以应用更为广泛。
7.HSTS实现http重定向https
在C主机上
vim /etc/httpd/conf/httpd.conf
Header always set Strict-Transport-Security "max-age=15768000"
RewriteEngine on
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
service httpd restart or systemctl restart httpd
到此为止,上述就是整个实现https的过程,若有什么地方错误,欢迎广大朋友指出!
实验:实现https的更多相关文章
- Orders matters: seq2seq for set 实验
论文提出了input的顺序影响seq2seq结果 有一些输入本身是无序的怎么去处理呢 作者提出LSTM controller的方式 替代输入的LSTM encode方式 作者实验这种方 ...
- ucoreOS_lab 1~8 实验报告导航
所有的实验已经全部完成,实验的源代码及报告都在 Github 上,欢迎大家批评指正,如果觉得对你有帮助的话,欢迎为此项目 star & watch & fork 三连,让更多的朋友们看 ...
- 2018-2019-2 20175223 实验三《敏捷开发与XP实践》实验报告
目录 北京电子科技学院(BESTI)实验报告 实验名称:实验三 敏捷开发与XP实践 实验内容.步骤与体会: 一.实验三 敏捷开发与XP实践-1 二.实验三 敏捷开发与XP实践-2 三.实验三 敏捷开发 ...
- linux系统 (实验二)实验楼的课程笔记
who am i 打印用户名和终端 终端的启动时间 whoami 打印用户名 who 命令其它常用参数 参数 说明 -a 打印能打印的全部 -d 打印死掉的进程 -m 同am i,mom li ...
- 科软-信息安全实验1-ICMP重定向
目录 一 前言 二 Talk is cheap, show me the code 三 效果演示 四 遇到的问题&解决 一 前言 文章不讲解理论知识哈,想学习理论知识的,认真听课
- 《数字信号处理》课程实验2 – FIR数字滤波器设计
一.FIR数字滤波器设计原理 本实验采用窗函数法设计FIR数字低通滤波器.我们希望设计的滤波器系统函数如下: \(H_{d}\left( e^{jw} \right) = \left\{ \begi ...
- 微型计算机系统实验总结(学习性实验:IO地址译码,可编程并行接口8255,交通灯控制实验 + 自主设计实验:汽车信号灯控制系统,电风扇控制器,洗衣机控制系统,霓虹灯,电梯控制系统)
实验配套软件: https://download.csdn.net/download/qq_39932172/11221584 实验指导用书: 教师版: https://download.csdn.n ...
- bitbar 网站攻击实验
实验环境 https://github.com/TouwaErioH/security/tree/master/web1 Windows10 Oracle VM VirtualBox Ubuntu16 ...
- 缓冲区溢出实验 1 strcpy
实验代码 https://github.com/TouwaErioH/security/tree/master/stack%20overflow 实验目的 Buffer over flow 漏洞利用实 ...
- 关于ucore实验一的资料查找
任务:阅读实验一makefile 搞清楚ucore.img是如何构建的 $@ $< $^ 这三个变量分别是什么意思 https://blog.csdn.net/YEYUANGEN/arti ...
随机推荐
- NHibernate教程(13)--立即加载
本节内容 引入 立即加载 实例分析 1.一对多关系实例 2.多对多关系实例 结语 引入 通过上一篇的介绍,我们知道了NHibernate中默认的加载机制--延迟加载.其本质就是使用GoF23中代理模式 ...
- 【深入Java虚拟机】之八:Java垃圾收集机制
转载请注明出处:http://blog.csdn.net/ns_code/article/details/18076173 对象引用 Java中的垃圾回收一般是在Java堆中进行,因为堆中几乎存放了J ...
- 【Beta阶段】测试与发布
[Beta阶段]测试报告 一.Bug记录 1. 已经修复的BUG:文件查重的小组的空指针处理了 . 2.未能修复的bug: (1).在进行查重的时候必要要有10个文件,不然会报错: (2 ...
- 团队作业八—第二次团队冲刺(Beta版本) 第 1 天
一.每个人的工作 (1) 昨天已完成的工作 由于是才刚开始冲刺,所以没有昨天的工作 (2) 今天计划完成的工作: 对界面的优化和一些细节的完善 (3) 工作中遇到的困难: 工作中出现了意见不一的情况 ...
- 【Alpha阶段汇总】成果展示与体验总结
一.燃尽图 二.软件截图 三.代码与图片.音乐素材仓库 git仓库 四.问题与总结 1.git提交问题 之前创建的仓库地址是http://git.oschina.net/8265559926/grou ...
- Java 第八周总结
1. 本周学习总结 2. 书面作业 1.List中指定元素的删除 1.1 实验总结 list中可以通过list.get(i)来获取具体第几个的元素的值,再通过compareTo来对比 通过in.has ...
- 201521123026 《Java程序设计》第一周学习总结
1. 本章学习总结 1.简要了解JAVA的发展史以及其特点(面向对象.跨平台性,健壮性,安全性,可移植性,多线程性,动态性等) 2.认识JAVA三大平台(Java SE,Java EE,JavaME) ...
- ArrayList和LinkedList区别及性能测试
ArrayList和LinkedList是Java Lis接口的2个实现.它们的区别如下表所示: 底层结构 强项 弱项 ArrayList 数组 随机访问get和set 插入删除 LinkedList ...
- Hyperledger Fabric 1.0 从零开始(三)——环境构建(内网/准离线)
有公网环境的服务器可以直接看 Hyperledger Fabric 1.0 从零开始(二)--环境构建(公网) ,本篇内容与上篇相似,只不过环境搭建需要在内网下,也就是网络被限制的情况下. 1:环境构 ...
- 在腾讯云上搭建WordPress博客
笔者一直很羡慕那些搭建了个人博客的大牛,在最近工作之余也尝试着搭建了自己的博客,历时1周,这篇文章就将踩过的坑记录下来,先看下成果,链接在此 1- 购买腾讯云主机 腾讯云官网,我选了79元/月的最便宜 ...