您正在查看:2020年

放弃Let's Encrypt证书,全站更换ZeroSSL证书

网站一直以来都是使用的Let's Encrypt SSL证书,主要是因为Let's Encrypt浏览器兼容性较好,支持ACME自动化部署,支持泛域名证书等,但是今天起网站开始放弃Let's Encrypt证书,全站更换ZeroSSL提供的SSL证书。

为什么放弃Let's Encrypt证书?

由于Let's Encrypt证书的OCSP验证域名由于未知原因无法访问,不过网站前一阵子给服务器开启了OCSP装订,变相解决了部分浏览器访问缓慢的问题;
但是经过测试,发现有些浏览器,比如IOS端 Chromium 系的浏览器:Chrome、新版Egde等,就算服务器开启了OCSP装订,还是会去强制访问OCSP验证证书有效性,虽然超时时间只有3s,但是问题没有得到解决就很不爽; 不高兴.png
不过也没有更好的解决办法了。

并且Let's Encrypt的X3根证书也将到期,之后会使用自己签发的根证书,虽然根证书更换后OCSP无法访问的问题会得到解决,但是新的根证书时间太短导致安卓7以下以及16年以前的一些设备没办法信任这个证书导致老设备的兼容性问题;

看来只能更换SSL证书来彻底解决该问题了。 挖鼻.png

为什么选择ZeroSSL?

- 阅读剩余部分 -

使用Bitwarden搭建属于自己的私人密码库

1 前言

作为一个计算机爱好者,选择统一的密码还是每个软件一个单独的密码,永远是个困境;
一个人要记住太多的密码是不太现实的,保持密码以书面形式又是非常不安全的;
对于数量越来越多的账号密码,一直以来,我都在寻找一个安全、快速、方便的密码长期保存方式;
从手写笔记到手机备忘录,
从txt文档到word文档,
从自己手动备份到onedrive自动同步... 汗.png

现如今比较流行的方式是使用密码管理工具进行密码的统一管理,这类软件一般拥有多平台客户端、浏览器插件等,密码一般加密保存到本地或者云端;

密码管理工具很多,有人说最好的密码管理工具是 1Password,但是他实在是卖的太贵了,暂时不考虑;
再对比各大软件,其实各有特色。有的倾向于将密码库储存到云端,有的可将密码库储存到本地进行自己保存,有的开源,有的是私有化,有的还提供私有化部署 太开心.png
最终我选择使用Bitwarden来搭建私人密码库,比较全的客户端覆盖,提供开源免费版,还提供私有化部署,满足了我对密码库的所有要求;

2 Bitwarden Server

- 阅读剩余部分 -

Nginx开启OCSP以解决Let's Encrypt证书被DNS污染访问缓慢

1 起因

最近突然发现我的网站在苹果手机上Safari浏览器上第一次会访问会非常慢,但只要第一次访问后,后续的访问速度均不受影响...
这就纳闷了,网站速度我都是优化过的,为什么会存在这种情况呢?
困扰我许久,因为只有手机访问才这样,在电脑上访问速度都很快,完全没有头绪... 泪.png

2 问题研究

在多次尝试后,发现在Firefox和IE浏览器上能复现该问题,在ssl握手之前,Firefox会阻塞2s,IE浏览器会阻塞10s以上;
2020-11-23T13:01:40.png

问题能复现就好解决了;
使用Charles进行抓包,发现使用IE打开网站的时候,会去请求ocsp.int-x3.letsencrypt.org域名进行证书验证,该域名无法访问从而导致访问速度变慢;
QQ截图20201125100329.png

所以问题就出在SSL证书上面,我使用的证书全部是Let's Encrypt证书,其特点是免费、支持泛域名、并且脚本一键部署,但是Let's Encrypt证书的OCSP验证域名被DNS污染,无法解析到正确的IP地址,导致无法进行证书有效性验证。
2020-11-23T13:05:29.png

这时候有同学要问了:OCSP验证又是什么呢?

- 阅读剩余部分 -

使用Docker快速搭建Redis

记录下Docker快速搭建Redis的笔记


1 查看可用的Redis版本

docker search redis
2020-10-24T09:33:07.png

2 拉取Redis镜像

docker pull redis:latest
这里我使用的是官方最新版

- 阅读剩余部分 -

使用Docker快速搭建MySQL5.7数据库

有的时候需要快速搭建一个MySQL数据库,选择Docker当然是没错的辣~
如果你之前配置过的话,一条命令就能快速的搭建起来一个MySQL数据库 哈哈.png


1 查看可用的MySQL版本

docker search mysql
2020-10-21T12:01:17.png

2 拉取MySQL镜像

这里我需要安装MySQL 5.7版本的
docker pull mysql:5.7

- 阅读剩余部分 -

最近网站和主题的一些小改动

不知不觉使用Material主题已经度过了四个年头,个人还是非常喜欢这个主题的,期间大大小小对主题进行了无数次的魔改,反正是有什么想法就想办法实现了,除非出现下一个更喜欢的主题或者自己动手做一个,目前来说还是会继续用这个主题的

本站主题的魔改的代码已经在Github开源:https://github.com/noisky/typecho_material_theme.git

开源主要是为了更新主题方便,直接在服务器上git pull就可以保持更新了... 所以并没有整理打包发布..
想尝鲜的可以自己动手去改,主要是替换cdn的资源为本地即可

最近的主要改动如下:

清凉夏季配色

indexPic.jpg
大家应该可以看到网站的主题配色更改为清凉夏季配色,其实更改配色方案的想法很早就有了,只不过一直没有去实施
主要是有好多细节性的需要调整;
这次抽空给整理了下,把需要更改的属性值但单独的提取出来,并且定义统一的颜色变量去管理,这样就方便以后更改配色了
这次只做了一套夏季配色,之后应该会做多套,按季度更换配色~ 你懂的.png 当我什么都没说

自适应黑暗主题

- 阅读剩余部分 -

Epic 商城本周免费游戏 GTA5

QQ截图20200515120259.png

活动持续一个星期,截止到5月21日 太开心.png

昨天开始领的时候,服务器直接给搞炸了,不管是中国站还是国际站都处于崩溃的状态,
QQ截图20200515120259.png

不过今天服务器逐渐恢复正常了,刚刚试了下可以领取了
2020-05-15T04:07:22.png

正所谓早买早享受,晚买享折扣,不买免费送;
开局一个号,游戏全靠领!
这下你还能说自己咩有GTA5?

还不快叫上老友一起搞事情~

并且Epic官方明确表示三周内不会免费商城已上线的游戏,也就是说不会背刺自己,但是只背刺你steam 滑稽.png
QQ截图20200515120259.png

作为吃瓜群众,还是欢快的看着平台神仙打架,坐等撸羊毛吧~ 太开心.png

使用Gitea+Drone来搭建自己的轻量级CI/CD自动构建平台

上一次我们使用Gitea搭建了自己的Git版本控制系统,可以用来管理自己的代码
还需要一个自动构建工具来解放生产力,这里我推荐使用Drone来搭建CI/CD持续集成,持续部署平台 你懂的.png
为什么选用Gitea+Drone呢?因为这两款软件都是基于go编写的,运行过程中可谓十分轻量级,对于资源的占用都是很少的,并且都可以基于docker来安装,安装部署起来十分方便
相对来说主流的Gitlab+Jenkins一套下来对于资源的占用,个人是很难能流畅运行的,至少我的机器连个Gitlab都跑不起来,更别提使用Java编写的Jenkins了。。。 汗.png
废话少说,直接开搞~ 滑稽.png
这里我的服务器环境使用的是最新的CentOS7 x64系统,只安装了一个docker


1 安装Gitea

Gitea的安装过程详见:https://ffis.me/experience/1960.html
这里就不做过多的阐述了

2 安装Drone

新版的Drone可以直接使用OAuto2和drone进行通信,无缝集成,配置完成后只需要得到gitea的授权即可进入drone平台,连账户和密码都不用输了

- 阅读剩余部分 -

使用docker来构建一个SpringBoot应用

Dcoker是一个开源的应用容器引擎,介绍我就不介绍了,总之就是很牛批,用过的都相见恨晚 笑眼.png
平时我们不是应用都是先搭建相关环境,然后把应用启动一通配置好
本地环境需要搭建一次,测试环境需要搭建一次,生产环境也需要搭建一次,这样重复的工作就做了几次,效率降低 不高兴.png
使用了docker了?我们只需要构建一次镜像,然后不同的环境只需要把镜像拉下来启动就行了,是不是很简单?
如果配合CI/DI持续集成,持续部署,那就太爽歪歪了,我们只需要把代码提交到git,剩下打包/编译/测试/部署工作就全自动自己运行了,是不是大大提高了生产力? 滑稽.png
废话不多说,今天先研究docker怎么构建SpringBoot,改天再研究CI/DI~


1 安装Docker

首先docker只支持CentOS7以上的系统,如果系统版本过低请升级系统
这里我使用的是CentOS7 x64
docker安装教程详见:Docker的基本操作与使用

2 准备SpringBoot应用

- 阅读剩余部分 -

搭建自己的Git版本控制系统 - Gitea

一直以来都想搭建自己的版本控制系统,虽然现在又Github、Gitee等热门的公共Git系统了,可有时候还是需要一个私有的Git系统来更方便的去管理、控制代码

这里我看了下开源的Git软件,大致有Gitlab、Gogs、Gitea等几款软件,Gitlab功能比较强大,但是个人使用就略显臃肿了,个人我还是倾向于使用比较轻量化的软件的,毕竟服务器的资源有限,能满足自己的需求就行了

Gitea是Gogs的一个分支,两款都是比较轻量化的软件,gogs之前搭建过了,这里选用Gitea再次搭建一个自己托管的Git版本控制中心。

docker安装

Gitea是支持使用docker安装的,所以安装的步骤和过程都很简单明了
1.创建gogs数据储存目录
mkdir -p /data/gogs

2.拉取最新版镜像
docker pull gitea/gitea:latest

3.运行docker容器

docker run -d --name=gitea -p 10022:22 -p 10080:3000 -v /data/gitea:/data gitea/gitea:latest
-d: 后台运行
--name: docker容器名称
-p: 端口映射,将容器端口3000 映射到宿主机的 10080端口
-v: 目录映射,将容器 /data 目录映射到宿主机的 /data/gitea 目录
gitea/gitea:latest: 使用的docker镜像

- 阅读剩余部分 -

  1. 1
  2. 2