在 Docker 中部署 Nginx,并在局域网配置 SSL 证书
序言
在上一篇博文里,我成功搭建了 LANraragi 服务器,并且分享给了家庭局域网内的其他设备。但是,又产生了新的问题:
- LANraragi 不需要登录就能访问其中的漫画;
- 就算 LANraragi 有登录的功能,用的也还是 HTTP 明文传输,相当于没有密码;
这些问题的根源是:可以联网的手机、智能家居都和 LANraragi 服务器在一个局域网内,这些设备并不可信,可能有后门(“用户自愿传输隐私数据以改善服务”)。无论如何,上述问题亟需解决。
解决方案 —— Nginx:
- 使用 Nginx 自带的 basic authentication,只有输入账号密码才能访问 URL;
- 利用 Nginx 的反向代理。只要给 Nginx 配置了 HTTPS,被代理的软件都可以使用加密传输;
因此,重点在于 Nginx 的配置和 SSL 证书的配置。麻烦之处在于,我要给内网 IP 请求证书,并且这个 IP 没有对应的域名。这篇文章探讨了这些解决方案,同时也是我第一次接触 Nginx 和 SSL 证书的配置。