这几天做渗透测试的时候被提到一个密码明文传输的问题,但由于测试的系统是一个内网系统,自签证书麻烦也不安全,索性就关闭一些功能。

顺手看了一下自己的 wordpress 也还用的 http 协议,想着加个证书吧,结果也是手欠,为了图方便先看的 wp 插件商店,有个 easyssl 还是什么名字的插件,就试了一下,页面全打不开了…

结果因为公司网络不好,linode 的 ssh 怎么都连不上,就用阿里云的服务器做了个中转,备份了 wp 和 mysql,想着重新部署一下。部署的时候又遇到了 mysql 权限的问题,也忘了两年前已经写过这个问题的解决方法,一气之下想想还是不用WP了,反正我更新的频率非常低,写MD静态页面足够了。

因为之前用过 hexo,这次就尝鲜选了 hugo,网上的教程基本都是基于 GitHub Pages 进行部署,我本来想着VPS部署的话,应该是把 public 文件夹作为 nginx 的 root 目录就行,但是如何往VPS上传输文件又是个问题,总不可能每次都本地生成,再通过 ftp 上传一遍 public 文件夹,那可太蠢了。于是考虑用 dropbox 来同步,上网一搜,尽管教程寥寥可数,但是方案还是比较成熟的。参考了以下两篇教程:

用 Hugo 创建 Blog 站点并部署到 VPS :Cloudflare / acme.sh SSL / Hugo

Dropbox 自动发布 Hugo 搭建的博客 :Dropbox for Linux / incron

方法都写的很详细,我也不重复写一遍了。原理是,把 hugo 目录直接放到 dropbox 里面,在本地编辑完保存以后,dropbox 会自动同步,服务器上的 dropbox 同步完以后,incron 会监视 posts 目录,如果有增删改就会运行 hugo 重新生成一次,并把 public 目录下的文件拷贝到网站根目录下面。

遇到点小问题,列一下:

  1. Dropbox 官方出的管理工具 dropbox.py,里面的 autorestart 不起作用,没法设置开机启动,但是 ubuntu 又没有 rc.local,于是参考了 ubuntu设置开机启动运行python程序或服务 这个方法,还比较好用。

  2. Dropbox 默认是同步所有文件夹的,没有同步单个文件夹的规则,但是可以 exclude,就是我得一个一个把 hugo 以外的所有文件夹添加到 exclude 规则里面去。

  3. Mac OS通过Clash代理ssh的方法是(雅阁提供的):

    1
    
    ssh -o ProxyCommand="nc -X 5 -x 127.0.0.1:7890 %h %p" user@address
    
  4. openwrt 开 ssrplus 的话会影响 ssh 的链接,经常报错。

最后,为了测试一下上传,放个板烧的图片好了: 20221111yaki