昔我往矣

flask编写一个简易版的DnsPod

2020年08月29日

DNS是当前互联网最重要的基础设施,一般企业内也会部署自己的私有DNS服务器,在我们公司就是部署BIND9做内部域名解析,用DnsPod做外部域名解析,为了配合Nginx的运维自动化,所以对外封装了DnsPod的api接口,对内自己用flask封装了一套api。目前的过程是使用数据库记录DNS的解析记录,通过模板生成DNS的配置文件,并推送到DNS服务器,然后reload生效,过程比较复杂。

继续阅读全文

Python的重试模块retry

2020年07月9日

在某些场景下,代码执行出现异常的时候,我们希望代码能自动进行重试。比如,某个三方接口的token时效时间是30分钟,在编码的时候,我希望能主动尝试登录。如果接口返回401了,重新获取token,再用新token请求一次。
retry


继续阅读全文

使用Nginx的Basic Auth认证实现不同的登录用户内容隔离

2020年07月8日

上传和下载文件是企业经常要面对的场景,本文提供了一个新思路,使用企业具备的现有工具(Linux和Nginx),不需要安装任何其他软件,可以快速建立一个简单、可靠、带认证和用户隔离的文件上传下载系统。

upload and download

继续阅读全文

如何使用普通用户管理docker?

2020年04月22日

首先,比”如何使用普通用户管理docker“更重要的问题是:”为什么要使用普通用户管理docker“?

  1. 使用普通用户登录服务器执行管理操作才是符合运维规范的,而不是给所有人都授予root权限,这有利于权限管理的标准化。
  2. 恶意破坏很难避免,但是要尽量不让用户做傻事,虽然普通用户进入docker之后,可以拥有root身份,但是这是恶意操作,避免的难度太高。

继续阅读全文

Jupyter Notebook服务搭建过程

2019年12月13日

每次使用Jupyter Notebook都是在本地终端运行jupyter-notebook启动的,家里的树莓派上面已经运行了seafile, transmission-daemon,minidlna.service等服务,这次想着把Jupyter Notebook也搭建到树莓派上,提供在线编程能力。下面是搭建的过程。

1_m87_Htb_9Pstq0UcvNJ49w.png

继续阅读全文