分类 编程 中的文章

Nginx | 给网站添加证书

Https

最近在购买的云服务器上把个人博客搭建起来了,实际上是hugo生成静态网页,nginx加载静态网页。现在只能通过http访问,缺少个https。 要搭建一个https的网站需要证书。之前在网上找的教程太麻烦,又是生成证书,又是放到指定地方。我想有个一键生成证书的软件或工具。功夫不负有心人,终于让我找到CertBot。

……

阅读全文

Nginx | 给网站添加证书

Https

最近在购买的云服务器上把个人博客搭建起来了,实际上是hugo生成静态网页,nginx加载静态网页。现在只能通过http访问,缺少个https。 要搭建一个https的网站需要证书。之前在网上找的教程太麻烦,又是生成证书,又是放到指定地方。我想有个一键生成证书的软件或工具。功夫不负有心人,终于让我找到CertBot。

……

阅读全文

Golang | http注解路由

Http服务器

Golang有一个很强大的官方http库了,使用上很方便。也有一些很强大的三方http框架, 比如gin,beego等等。 自以为,框架在提供便利,提升开发效率的同时,也限制了我们的想象力。 相对beego而言我更喜欢gin这样的简单高效框架,给我们提供了一些基础设施。剩下的有什么功能需要自己写进去就好了。

……

阅读全文

Golang | http注解路由

Http服务器

Golang有一个很强大的官方http库了,使用上很方便。也有一些很强大的三方http框架, 比如gin,beego等等。 自以为,框架在提供便利,提升开发效率的同时,也限制了我们的想象力。 相对beego而言我更喜欢gin这样的简单高效框架,给我们提供了一些基础设施。剩下的有什么功能需要自己写进去就好了。

……

阅读全文

Goang | Plugin插件热更

热更新

  1. 动态脚本更新 (php)

  2. 短链接无状态服务器热更 (http)

  3. 长连接有状态,数据跟逻辑分离

    • golang Plugin热更 (.so 动态库更新) —-逻辑热更
  4. 长连接有状态,在运维层面, 利用容器部署热更(docker, k8s)

    • 服务不接受新连接,处理完剩余连接的逻辑,主动关闭。由已经更新过的服务接收新连接处理逻辑。

golang插件更新

下面代码实现的需求:

……

阅读全文

Goang | Plugin插件热更

热更新

  1. 动态脚本更新 (php)

  2. 短链接无状态服务器热更 (http)

  3. 长连接有状态,数据跟逻辑分离

    • golang Plugin热更 (.so 动态库更新) —-逻辑热更
  4. 长连接有状态,在运维层面, 利用容器部署热更(docker, k8s)

    • 服务不接受新连接,处理完剩余连接的逻辑,主动关闭。由已经更新过的服务接收新连接处理逻辑。

golang插件更新

下面代码实现的需求:

……

阅读全文

Grpc | Token认证和自定义认证

概述

现在有个需求,需要在grpc的拦截器中,通过token进行身份认证。如果认证不通过则返回错误; 认证通过,则放行;

TLS是用作加密通讯通道的,与该需求无关。

Token认证

具体流程

  • 客户端通过账号密码登录服务器,登录成功服务器返回一个token给客户端。
  • 客户端携带token信息往服务器请求业务逻辑的接口,,服务器收到请求,解析验证token,验证通过,则放行。

协议文件

……

阅读全文

Grpc | Token认证和自定义认证

概述

现在有个需求,需要在grpc的拦截器中,通过token进行身份认证。如果认证不通过则返回错误; 认证通过,则放行;

TLS是用作加密通讯通道的,与该需求无关。

Token认证

具体流程

  • 客户端通过账号密码登录服务器,登录成功服务器返回一个token给客户端。
  • 客户端携带token信息往服务器请求业务逻辑的接口,,服务器收到请求,解析验证token,验证通过,则放行。

协议文件

……

阅读全文

Grpc | 通过SSL/TLS建立安全连接

使用golang的grpc库作为例子

grpc使用TLS建立安全连接需要有SAN证书, go 1.15 版本开始废弃 CommonName。

什么是SAN证书

SAN(Subject Alternative Name) 是 SSL 标准 x509 中定义的一个扩展。使用了 SAN 字段的 SSL 证书,可以扩展此证书支持的域名,使得一个证书可以支持多个不同域名的解析。

制作SAN证书

一条指令生成ca证书

……

阅读全文

Grpc | 通过SSL/TLS建立安全连接

使用golang的grpc库作为例子

grpc使用TLS建立安全连接需要有SAN证书, go 1.15 版本开始废弃 CommonName。

什么是SAN证书

SAN(Subject Alternative Name) 是 SSL 标准 x509 中定义的一个扩展。使用了 SAN 字段的 SSL 证书,可以扩展此证书支持的域名,使得一个证书可以支持多个不同域名的解析。

制作SAN证书

一条指令生成ca证书

……

阅读全文