您当前的位置:首页 > 电脑百科 > 网络技术 > 网络技术

搭建本地 HTTPS 环境

时间:2020-08-01 15:39:34  来源:  作者:

前言

之前写自己的网站时, 申请过免费的https证书. 最近想在自己本地搭一个, 结果忘了当初证书是怎么来的了. 本来想着去申请个免费的证书, 但想了想, 我只需要在自己本地能使用就行了, 我自己的环境, 那当然是我说了算了. 只要能够将证书构造出来, 安装到本地就可以识别了. 搜了搜, 发现还真的有生成证书的工具. 道理咱都懂, 动手才是王道, 走你.

证书生成

以下以我自己的域名hujingnb.cn为例.

随便找个路径, 创建 hujingnb.conf配置文件, 内容如下(内容加了注释, 请自行将注释删掉):

[ req ]
 
default_bits = 2048
default_keyfile = server-key.pem
// 标识提示的标签名, 就是下面的 [subject]
distinguished_name = subject
// 指定扩展的标签名
req_extensions = req_ext
x509_extensions = x509_ext
// 指定编码
string_mask = utf8only
 
[ subject ]
// 以下为填写的相关信息 
countryName = 国家(跳过即可)
countryName_default = CH
 
stateOrProvinceName = 省份(跳过即可)
stateOrProvinceName_default = BeiJing
 
localityName = 城市(跳过即可)
localityName_default = BeiJing
 
organizationName = 组织(跳过即可)
organizationName_default = None
 
commonName = 域名(必填)
commonName_default = hujingnb.cn
 
emailAddress = 邮箱(跳过即可)
emailAddress_default = hujingnb@qq.com
 
[ x509_ext ]
 
// 使用者密钥标识
subjectKeyIdentifier = hash
// 授权密钥标识
authorityKeyIdentifier = keyid,issuer

// 表示要生成的证书是用于终端证书的, TRUE 为 CA 证书, 可下发二级证书 
basicConstraints = CA:FALSE
// 指明证书用途
keyUsage = digitalSignature, keyEncipherment
// 标明当前证书使用与哪些域名, 在下面的 alternate_names 标签中
subjectAltName = @alternate_names
// 证书提交说明
nsComment = "generate crt"
 
[ req_ext ]
 
subjectKeyIdentifier = hash
 
basicConstraints = CA:FALSE
keyUsage = digitalSignature, keyEncipherment
subjectAltName = @alternate_names
nsComment = "generate crt"
 
[ alternate_names ]
// 证书可使用的域名列表
DNS.1 = hujingnb.cn
DNS.2 = *.hujingnb.cn

// 还有写其他的参数, 可查看 openssl.cnf 配置文件

然后执行命令:

openssl req -config hujingnb.conf -new -sha256 -newkey rsa:2048 -nodes -keyout hujingnb.key -x509 -days 365 -out hujingnb.crt

提示需要输入一堆参数, 都可以不给. 但是, Common Name 需要指定域名

对以上用到的参数简单解释:

  • config: 指明配置文件
  • new: 指明生成新的证书
  • newkey: 生成新的密钥, 方式为 rsa. 长度为2048
  • nodes: 指定密钥不用加密(没懂是什么意思, 但是不指定不能生成证书).
  • keyout: 私钥输出文件
  • days: 标明证书有效期
  • X509: 表示输出证书的格式, 这个我们在配置文件中配过了. (默认是 crt 格式, 我试了, 不加这个参数也 OK)
  • out: 证书输出文件

生成证书文件以及私钥.

搭建本地 HTTPS 环境

 

然后将证书以及私钥 copy 到你想要的任意位置,

证书安装

双击crt证书文件.

搭建本地 HTTPS 环境

 

双击证书, 将证书设置为始终信任. 然后 X 调, 输入密码, 确认修改. 证书安装完成.

搭建本地 HTTPS 环境

 

修改 Nginx 配置

OK, 证书的准备工作已经完成了, 现在剩下 nginx 的配置了. 将以下配置加到 nginx 配置文件中:

listen 443 ssl;
server_name  hujingnb.cn;

ssl on;
ssl_certificate     /Users/hujing/dir/pem/hujingnb.crt;
ssl_certificate_key /Users/hujing/dir/pem/hujingnb.key;

请自行修改其中证书以及私钥的文件位置.

万事具备, 试验:

搭建本地 HTTPS 环境

 

OK, 完美.

总结

不过这样安装, 只能在本地环境访问, 仅供测试使用.

对于在本地环境搭建HTTPS的开发来说, 不用费时费力的申请线上证书, 可模拟线上HTTPS请求. 足矣.



Tags:HTTPS 环境   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
前言之前写自己的网站时, 申请过免费的https证书. 最近想在自己本地搭一个, 结果忘了当初证书是怎么来的了. 本来想着去申请个免费的证书, 但想了想, 我只需要在自己本地能...【详细内容】
2020-08-01  Tags: HTTPS 环境  点击:(61)  评论:(0)  加入收藏
▌简易百科推荐
写一个shell获取本机ip地址、网关地址以及dns信息。经常会遇到取本机ip、网关、dns地址,windows一个命令ipconfig /all全部获取到,但linux系统却并非如此。linux系统都自带ifc...【详细内容】
2021-12-27  K佬食古    Tags:shell   点击:(1)  评论:(0)  加入收藏
步骤1、配置 /etc/sysconfig/network-scripts/ifcfg-eth0 里的文件。it动力的CentOS下的ifcfg-eth0的配置详情:[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifc...【详细内容】
2021-12-24  忆梦如风    Tags:网卡   点击:(9)  评论:(0)  加入收藏
1、查找当前目录下所有以.tar结尾的文件然后移动到指定目录find . -name “*.tar” -execmv {}./backup/ ;注解:find –name 主要用于查找某个文件名字,-exec 、xargs可...【详细内容】
2021-12-17  郭主任    Tags:运维   点击:(19)  评论:(0)  加入收藏
对于经常上网的朋友来说,除了手机购物上网,pc端玩网页游戏还是很多小伙伴首选的,但是有时候明明宽带链接上了,打开浏览器却出现上不了网的现象,下面小编要来跟大家说说电脑有网络...【详细内容】
2021-12-16  小白系统    Tags:网页无法打开   点击:(28)  评论:(0)  加入收藏
在访问像github、gitlab这样的外国网站时,很有可能会出现页面加载不出来或找不到页面的错误。这时候有的朋友就会以为是网络的问题,于是把Wifi断掉连上自己手机的热点,结果却还...【详细内容】
2021-12-15  启施技术IT狼叔    Tags:外网   点击:(14)  评论:(0)  加入收藏
网络地址来源:获取公网IP地址 https://ipip.yy.com/get_ip_info.phphttp://pv.sohu.com/cityjson?ie=utf-8http://www.ip168.com/json.do?view=myipaddress...【详细内容】
2021-12-15  韦廷华12    Tags:外网ip   点击:(14)  评论:(0)  加入收藏
准备好软件IPOP、用ENSP模拟一下华为交换机 启动交换机 <Huawei>sysEnter system view, return user view with Ctrl+Z.[Huawei]sysname FTPClient[FTPClient]interface vla...【详细内容】
2021-12-15  思源Edward    Tags:交换机   点击:(22)  评论:(0)  加入收藏
我们经常用到netstat命令查看主机连接状况,包括连接ip、端口、状态等,今天就练习下shell分析netsat结果。描述假设netstat命令运行的结果我们存储在nowcoder.txt里,格式如下:Pro...【详细内容】
2021-12-14  K佬食古    Tags:netstat   点击:(19)  评论:(0)  加入收藏
什么是滑动窗口?窗口是操作系统开辟的一块缓存空间,发送方在收到接收方ACK应答之前,必须在缓冲区保留已发送的数据,如果按期收到确认应答,数据就可以从缓冲区移除。什么是滑动窗...【详细内容】
2021-12-14  DifferentJava    Tags:TCP   点击:(28)  评论:(0)  加入收藏
概述日常管理华为路由设备过程中,难为会忘记设备登录密码,那么该如何重置设备登录密码吗?本期文章将全面向各位小伙伴总结分享。重置华为设备登录密码思路先行 采用console登录...【详细内容】
2021-12-10  onme0    Tags:   点击:(27)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条