分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

搭建一个简易的https

发布时间:2023-09-06 01:19责任编辑:郭大石关键词:http

构建一个简易的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

    650) this.width=650;" src="https://s5.51cto.com/oss/201710/22/d7ec46f54f6138bd75b858cd72c770a7.jpg" title="1.jpg" alt="d7ec46f54f6138bd75b858cd72c770a7.jpg" />

4、给centos6证书签名

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

    650) this.width=650;" src="https://s4.51cto.com/oss/201710/22/00f2b9e61313fbc7a68fd382d2b05292.jpg" title="1.jpg" alt="00f2b9e61313fbc7a68fd382d2b05292.jpg" />

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可以查看脚本:

    650) this.width=650;" src="https://s1.51cto.com/oss/201710/22/403eb5cdc54b241e0a020906308ef0dd.jpg" title="1.jpg" alt="403eb5cdc54b241e0a020906308ef0dd.jpg" />

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

    650) this.width=650;" src="https://s3.51cto.com/oss/201710/22/f92c4fa7d006c15bf46aeff9d5dd49f5.jpg" title="1.jpg" alt="f92c4fa7d006c15bf46aeff9d5dd49f5.jpg" />

    生成的证书里面有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

    650) this.width=650;" src="https://s3.51cto.com/oss/201710/22/58c62b87ea3e5f616b6e14bd124960dc.jpg" title="1.jpg" alt="58c62b87ea3e5f616b6e14bd124960dc.jpg" />

    还有

    650) this.width=650;" src="https://s4.51cto.com/oss/201710/22/e4a43caf8bb5d4ff730019a43b62bac4.jpg" title="1.jpg" alt="e4a43caf8bb5d4ff730019a43b62bac4.jpg" />

    更改上级证书的路径

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

三、访问web服务器

1、用centos去访问

    650) this.width=650;" src="https://s3.51cto.com/oss/201710/22/6605db72fba925367adddeea5ad07b50.jpg" title="1.jpg" alt="6605db72fba925367adddeea5ad07b50.jpg" />

2、用windows去访问https:/172.17.166.166

    650) this.width=650;" src="https://s5.51cto.com/oss/201710/22/c75395d1f4f0f61b22abfd85be88e0c9.jpg" title="1.jpg" alt="c75395d1f4f0f61b22abfd85be88e0c9.jpg" />

此时查看证书

    650) this.width=650;" src="https://s2.51cto.com/oss/201710/22/01e18da58bd37275412ca8d5d2f52174.png" title="1.png" alt="01e18da58bd37275412ca8d5d2f52174.png" />

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

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

    650) this.width=650;" src="https://s5.51cto.com/oss/201710/22/6e8ae6702d3d0090e05afc01cf4b1446.png" title="1.png" alt="6e8ae6702d3d0090e05afc01cf4b1446.png" />

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

    172.17.166.166  www.magedu.com

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

    650) this.width=650;" src="https://s3.51cto.com/oss/201710/22/781072decf8d38a4842aebce8d1c5e11.png" title="1.png" alt="781072decf8d38a4842aebce8d1c5e11.png" />

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


搭建一个简易的https

原文地址:http://13296637.blog.51cto.com/13286637/1975074

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved