构建一个简易的https需要三个服务器来做实验:

CA:centos7

web服务器:centos6

客户端

一、配置CA(centos7)

1、在/etc/pki/CA/下面创建两个文件

echo 00 > /etc/pki/CA/serial(生成序列号)

touch /etc/pki/CA/index.txt

2、创建私钥

(umask 066;openssl genrsa -out private/cakey.pem 4096)

生成私钥的文件一定要放在/etc/pki/CA/private/cakey.pem

3、生成自签名证书

openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650

4、给centos6证书签名

openssl  ca -in httpd.csr -out certs/httpd.crt -days 300

5、然后将签名后的证书发送到web服务器上

scp certs/httpd.crt 172.17.166.166:/etc/httpd//conf.d/ssl/

6、将自己的公钥发送到web服务器上

scp cacert.pem 172.17.166.166:/etc/httpd//conf.d/ssl/

二、配置web服务器(centos6)

1、安装mod_ssl包

yum install mod_ssl

这个包安装的同时已经生成证书,是因为安装mod_ssl的时候执行了一个脚本。用rpm -q - -scripts mod_ssl可以查看脚本:

2、创建私钥:

mkdir /etc/httpd/conf.d/ssl

(umask 066;openssl genrsa -out /etc/httpd/conf.d/ssl/httpd.key 2048)

3、生成证书

openssl req -new -key /etc/httpd/conf.d/ssl/httpd.key -out /etc/httpd/conf.d/ssl/httpd.csr

生成的证书里面有3项必须与CA生成自签名证书一样

(1)Country Name (2 letter code) [XX]:CN

(2)State or Province Name (full name) []:henan

(3)Organization Name (eg, company) [Default Company Ltd]:magedu.com

4、将生成的证书传给CA

scp /etc/httpd/conf.d/ssl/httpd.csr 172.17.177.177:/etc/pki/CA/

5、配置https的主配置文件:/etc/httpd/conf.d/ssl.conf

还有

更改上级证书的路径

更改三个路径,其他的可以不用调

三、访问web服务器

1、用centos去访问

2、用windows去访问https:/172.17.166.166

此时查看证书

能查看到上级证书和自己的证书

如果想让信任其证书,需要安装一下上级证书:

然后在/windows/system32/drivers/etc/HOSTS中添加一条记录就行

172.17.166.166  www.magedu.com

添加之后访问https://magedu.com就能直接访问了(因为证书只对域名认证,不认证IP地址)

这样一个简易的https就构建成了

转载于:https://blog.51cto.com/13296637/1975074

搭建一个简易的https相关推荐

  1. HTTPS文件服务器搭建,搭建一个简易的https

    构建一个简易的https需要三个服务器来做实验: CA:centos7 web服务器:centos6 客户端 一.配置CA(centos7) 1.在/etc/pki/CA/下面创建两个文件 echo ...

  2. 如何搭建一个简易的Web框架

    Web框架本质 什么是Web框架, 如何自己搭建一个简易的Web框架?其实, 只要了解了HTTP协议, 这些问题将引刃而解. 简单的理解:  所有的Web应用本质上就是一个socket服务端, 而用户 ...

  3. 快速搭建一个简易的HTTP服务器用于文件分享与下载

    需要快速搭建一个简易的HTTP服务器进行文件的分享与下载.主要有以下两种方法: 1. 使用python 来实现 import http.server import socketserverPORT = ...

  4. 使用python搭建一个简易的本地局域网

    使用python搭建一个简易的本地局域网 1.设置python路径为环境变量// python3 2.命令行输入python -m http.server 8888// 或python2 2.命令行输 ...

  5. HTML+CSS+PHP+COOKIE在本地搭建一个简易的登陆注册网页

    昨天晚上看了一叶飘零大佬的直播,大佬说:初学者最好自己先动手去做一些项目,这样能更好的了解原理,恰好学长要求做一个简易的登陆注册系统,利用这个机会再学习一波. 做了两天,搞懂了很多概念,也遇到了很多问 ...

  6. 用mysql + node搭建一个简易工作列表网站

    初衷 增删改查是web开发最常见的操作,那么接下来这篇文章将演示如何用node + mysql做一个简易的网站. 需要的知识 本教程不涉及express等web框架,但请确保您对node + mysq ...

  7. 从0到1搭建一个简易的在线客服问答系统(附源码)

    前言 首先我们先了解下这个概念,什么叫做问答系统(Question Answering System,简称 QA 系统)? 其实问答系统是一个比较常见的系统,在医疗系统/电商系统/零售业等等行业中都比 ...

  8. 搭建一个简易的发布系统

    为了解决 博客 写作环境限制的问题,尝试搭建了一个简易的发布系统.Git 仓库只是托管 md 文件,通过 Webhook 通知服务器更新 md 文件,然后执行构建静态文件操作,完成一个发布过程. 需求 ...

  9. linux 简单dns搭建,搭建一个简易的DNS服务

    今天给大家介绍如何搭建一个DNS服务,以下图为例,当一个小区客户端去访问www.jiabing.com时,DNS需要如何去搭建. 搭建前需要先把每台服务器的防火墙和SELINUX关闭. 关闭防火墙:i ...

最新文章

  1. 【 数字信号处理 】定点数的表示之二进制数的原码与补码
  2. NYOJ 527 AC_mm玩dota
  3. 广东春运安保工作提前10天启动
  4. java泛型程序设计——翻译泛型表达式+翻译泛型方法
  5. 集合python_python集合访问的方法
  6. 内部类之.this.new
  7. Redis集群方案介绍
  8. 实现财务自由的十大步骤
  9. 六十星系之31破军独坐子午
  10. 高光谱遥感图像处理与信息提取综述
  11. HTB-Sequel
  12. 叫你别随便重启Redis!!!怎么样,数据全丢了吧~~~
  13. Vue项目首页-开发周末游组件(7-7)
  14. Adobe产品adobe ID登录卡死问题的解决
  15. Docker 相关配置文件路径
  16. R语言 tidyverse 之数据处理:dplyr (中)
  17. 【OC】JSONModel基本使用
  18. PKCS#11及CSP接口标准
  19. leetcode 974. Subarray Sums Divisible by K
  20. Metasploit 渗透测试02-安装和疑难解决

热门文章

  1. php和asp.net下SQLite3的执行速度对比
  2. 济南长清区谋定特色展销中心 对话中国农民丰收节交易会
  3. 使用脚本安装elasticsearch7.3的记录
  4. JFoenix: JavaFX与Google Material Design
  5. css禁止双击dom节点被选中user-select:none
  6. 微信网页授权功能来获取用户信息(昵称或头像)之php实现
  7. 4. XHTML语法
  8. 2020年,产品经理如何提高求职成功率?
  9. 研究阿里钉钉近三年,我们总结了10大企业级产品的营销套路
  10. PMCAFF问答精选 | 程序员转型产品经理真的明智吗?