网站首页 > 技术教程 正文
概述
在前端开发领域某些特性下需要依赖HTTPS,例如:navigator.geolocation.getCurrentPosition / new Notification 等。
由于大多数开发环境中都只是HTTP协议下,所以会导致调试比较困难, 这个时候就需要给本地配置HTTPS了。
给本地配置SSL证书一般情况下都是自己 生成自签名CA证书 , 这种方式最大的问题就是无法建立安全, 然而这样并没有什么卵用。
为了解决这个问题, 这里使用了 mkcert。
mkcert是一个简单的零配置工具,可以使用您喜欢的任何名称制作本地可信赖的SSL开发证书,是Google某位工程师用Go开发出来的。
安装mkcert
Mac用户
brew install mkcert brew install nss
Windows用户
前提先安装 Chocolatey
choco install mkcert
安装CA
mkcert自动在系统根存储中创建并安装本地CA
mkcert -install
生成证书
每个域名以空格进行分割,下面3个本地域名基本是能够满足大部分场景的,除非使用IP
mkcert localhost 127.0.0.1 ::1
会在当前目录下生成2个文件,生成的证书有效期是10年,足够用了,并且可以给本地所有端口使用,所以只生成一次即可。
配置HTTPS
有了证书之后就是配置的事情了,相当简单:
nginx
server { listen 7777; server_name localhost; ssl on; root html; index index.html index.htm; # 把生成的证书路径引入进来即可 ssl_certificate ../localhost+2.pem; ssl_certificate_key ../localhost+2-key.pem; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { root /www; index index.html index.htm; } }
node.js
Node不使用系统根存储,因此它不会自动接受mkcert证书。必须设置 NODE_EXTRA_CA_CERTS 环境变量:
export NODE_EXTRA_CA_CERTS="$(mkcert -CAROOT)/rootCA.pem"
const https = require('https'); const fs = require('fs'); const options = { key: fs.readFileSync('../localhost+2.pem'), cert: fs.readFileSync('../localhost+2-key.pem') }; https.createServer(options, (req, res) => { res.writeHead(200); res.end('hello world\n'); }).listen(8000);
最后
生成的证书只能用于本地测试,不要在线上使用。
目前几乎所有的网站都开启了SSL,为了使自己在开发中方便调试,建议本地配置上,只是2分钟的事情。
猜你喜欢
- 2024-10-13 推荐一个小工具:flog(推荐一个好用的)
- 2024-10-13 Docker 和 Kubernetes 从听过到略懂:给程序员的旋风教程
- 2024-10-13 HTML5如何实现视频直播功能(html video直播)
- 2024-10-13 直播大火,H5直播技术你知道吗?H5直播方案大讲解!
- 2024-10-13 简单聊聊实时视频rtmp(rtsp rtmp)
- 2024-10-13 如何快速的开发一个完整的iOS直播App
- 2024-10-13 Mac安装PHP开发环境(mac 开发php)
- 2024-10-13 Mac M1芯片电脑Java开发环境准备(java开发环境)
- 2024-10-13 完整的iOS直播App——搭建直播服务器
- 2024-10-13 Mac 基于HTTP方式访问下载共享文件,配置共享服务器
你 发表评论:
欢迎- 最近发表
-
- Oracle 在其新的 Linux 内核中引入了热补丁功能
- CentOS 7.6下安装Oracle 11.2.0.4
- ORACLE体系 - 2(oracle体系讲解)
- ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务
- Hadoop自学系列集(二) ---- CentOS下安装JDK
- 如何升级oracle数据库安全补丁(oraclepsu补丁升级)
- 搭建Oracle数据库服务器(oracle服务器创建用户)
- OGG同步到Kafka(oggforbigdata到kafka)
- oracle是什么软件?(oracle是干什么用的)
- 脚本化修改Oracle用户的密码以及执行sql(增删改查等)
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)