有些内容是不方便公开的,除了使用hugo的加密插件外,还可以使用nginx自带的加密功能来保护文章。
nginx的http验证他具有简单,通用的特点,但hugo的文章加密可以在单个文章中,自定义要加密的部分,而且可以在类似cloudflare pages 这种平台使用。
创建要加密的页面
进入你的网站的content文件夹,创建一个文件夹,名字随意,这里我使用encrypted这个名称。
创建完成后,就可以在里面新建不想被看到的文章了,可以用这个命令创建文章,或者也可以从post里面移动一些到这里。
|
|
如果需要在网站上显示直达入口的话,需要添加一个菜单到页面上。
这里可能需要根据使用的主题,按照配置文件的模板去添加配置。
已我使用的stac主题为例,打开网站的config.yaml,在自定义菜单部分输入以下内容。
|
|
完成后,生成网站并上传到vps。
nginx的配置
- 打开/etc/nginx/nginx.conf,查看user字段,这可以了解nginx是在哪个用户下运行的。
- 这里将在/etc/nginx目录创建auth目录,属于nginx用户,权限700,输入以下命令。
|
|
- 在刚刚创建的auth目录,输入以下命令创建密钥。
|
|
接下来,根据提示设置密码,完成后,打开刚刚创建好的文件,在文本开头输入你需要的用户名然后输入:,然后保存文件。
- 给密钥文件指定用户和权限,输入以下命令设置。
|
|
- 修改你的网站配置文件,在server的配置下面加入以下内容。
|
|
修改完成后,重启nginx即可生效。
为了让加密真正有用,需要给网站开启https,否则传输的用户信息是铭文的。
此时只要访问私密文章目录,就需要输入用户名和密码。