本地搭建一个https服务 本地搭建一个 https 服务在本地开发时,一般情况下只需要通过 http 访问 localhost 就能满足绝大多数开发的场景了,但最近在开发一些第三方插件/应用时,由于对方缺少对开发者的支持,只能在本地模拟生产环境才能集成到对方的应用中。其中一个最难的要求就是对方需要打开的页面支持 https。 生成 HTTPS 证书要起一个 HTTPS 服务就需要证书,这里推荐 https://g 2022-08-01 其他 #nodejs #https #vitejs
修改git密码 问题背景公司的 gitlab 仓库和 sso 账号打通,sso 账号的密码要求没过一段时间就更新一次。每次密码更新的时候,使用 ssh 的方式登录 git 没有影响,但使用 http 同步的代码就无法上传/拉取远程仓库。 但是本地命令行只有第一次拉取的时候会提示输入密码,后续只会提示 “HTTP Basic: Access denied”,却无法更新密码。 网上找了很久终于找到解决办法: 2022-04-19 其他 #git
https证书过期,acme超时问题处理 HTTPS 证书过期今天突然发现博客 HTTPS 证书过期无法访问了,由于设置了 HSTS,证书过期后连 HTTP 链接也无法访问了,需要紧急处理一下。 博客站点的证书是由 acme.sh 申请安装的,按道理应该能够自动更新才对,怀疑是更新机制出现了什么问题。 问题排查解决首先尝试手动更新证书: 1acme.sh --renew -d wobushi.top --force 注意:-d 是当时创 2022-03-25 运维 #证书 #HTTPS
浏览器原生的预解析/预渲染方案 预加载 prelink在之前一片文章使用 prelink 优化跨域接口性能中,为了优化跨域接口的调用时间,文章中才用了模拟 xhr 请求的方式提前发送请求建立连接,达到了很好的效果。 但后来发现其实浏览器其实有原生方案支持这一特性。 预解析、预渲染浏览器提供了三种方案做资源的预加载:DNS Prefetch, Prerender, Preconnect DNS Prefetch:DNS 预解析1& 2022-03-24 前端 #优化
使用crypto-js进行aes加密 使用 crypto-js 进行 aes 加密代码样例: 1234567891011121314151617/** * 使用aes加密字段 * @param {string} data 需要加密数据 * @returns {string} 加密后的数据 */function aesEncrypt(data) { const encryptKey = 2022-03-09 前端 #crypto-js
前端架构之前端部署流程设计 前端部署流程需要做些什么,应该达到什么样的效果今天有幸读到字节架构前端的一篇文章:2021 年当我们聊前端部署时,我们在聊什么 文章中基本列举了在设计前端部署流程中所有需要注意的点以及最佳的时间方案,看完之后收益很大。 值得一提的是,我之前并没有度过类似的文章,也没有参与过架构的培训。然而在日常的开发过程中,出于对原有流程的个人觉得不太好用的地方也尝试进行了改变。后台也出现了一些对于 CDN 历史 2022-02-11 运维 #部署
使用Redis进行频率控制 使用 Redis 进行频率控制在开发后台服务的时候经常需要编写限制频率的逻辑,比如某个接口限制调用频率。 后台控制频率往往使用 redis 实现,但具体实现的方式也有好几种。 方案一使用单一 key 就能实现简单的频率控制。 key 类型: string 相关命令: EXISTS, INCR, EXPIRE 代码如下(以下省略创建 redis 实例过程): 12345678910111213141 2022-01-17 后台 #Redis
ssr同构框架如何捕获图片加载失败事件 ssr 同构框架如何捕获图片加载失败事件有这样的一个需求,当页面上某张图片加载失败的时候,展示默认背景图。 一般 spa 页面会这么写,采用事件绑定的形式: 123456789101112131415161718<template> <img :src="logo" alt="" @error="onError" /& 2022-01-14 前端 #同构SSR
使用prelink优化跨域接口性能 背景当页面中存在跨域接口调用时,该跨域域名下的第一个请求往往会相对比较慢。 自从 HTTP1.1 默认开启 keep-alive 后,如果页面上的 xhr 为同域下的请求,那么可以直接复用获取 html 时就建立好的连接。 但跨域请求没有前置的请求帮其建立连接,当页面上发起跨域请求时就需要额外的时间进行 dns 查询,ssl 以及建立 tcp 连接的时间,会给用户带来不太好的体验。 prelink 2022-01-13 前端 #监控 #优化
chrome中vite+qiankun无法启动的问题 问题背景原本能正常运行的 vite + qiankun 架构的微服务今天突然出现了如下问题: 从报错来看是因为无法加载子应用的入口 js,具体原因是因为跨域问题。 问题解决寻找原因先是排查子应用 js 是否能够正常返回,发现文件并没有问题,且文件返回头是有 access-control-allow-origin: * 跨域标识的。 然后测试了一下其他浏览器,发现在 firefox 下是可以运行 2022-01-11 前端 #微前端 #qiankun #vite #浏览器兼容