<QNAP 453D QTS-5.x> 日志记录:Docker 运行的 Flask 应用 SSL 证书 过期, 更新证书
延续上一遍:
<QNAP 453D QTS-5.x> 日志记录:在 Docker 中运行的 Flask 应用安装 自签名 SSL 证书 解决 Chrome 等浏览器证书安全
当初想着为了安全,用的是默认:1月。 这不证书就过期,只能更新证书。
更新证书:
两种方式:
- 生成 新的证书、 新的私钥 (Flask 应用替换2文件,windows 上导入1个证书)
- 使用旧的私钥,只生成新证书 (Flask 应用替换1文件,windows 上导入1个证书)
这里介绍 第二种方法
环境:
还是使用上次的 Container: 6eb329c9609b 主要是利用上次的 /etc/ssl/openssl.conf 省事儿
执行命令:
1. 只生成新的证书:
CMD:openssl req -x509 -key key.pem -out new_cert.pem -days 365 -config ./ssl/openssl.cnf
注释:添加了 -days 365, 让证书的有效期为1年
root@6eb329c9609b:/app# openssl req -x509 -key key.pem -out new_cert.pem -days 365 -config ./ssl/openssl.cnf
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Beijing
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Freedome China !!!
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:davens
Email Address []:dave@gmail.com
root@6eb329c9609b:/app# ls
app.py cert.pem certbot data key.pem new_cert.pem requirements.txt ssl static templates
root@6eb329c9609b:/app#
上面的内容当时没有写入 config 文件,只能重填一次。 注意事项同上一遍。
2. 复制 new_cert.pem 改名并代换 已有的 cert.pem
[/share/Multimedia/2024-MyProgramFiles] # docker cp cert.pem 6eb329c9609b:/app/
docker ID : 6eb329c9609b 是我 portal
3. 在 Windows 11 中添加证书, 方式也同上一篇
4. 证书生效
重启 docker container.
[/share/Multimedia/2024-MyProgramFiles] # docker stop 6eb329c9609b
6eb329c9609b
[/share/Multimedia/2024-MyProgramFiles] # docker start 6eb329c9609b
6eb329c9609b
[/share/Multimedia/2024-MyProgramFiles] #
重启浏览器:
证书会生效
以后写代码,要考虑从某个位置下载 证书文件。 现在要往12个 containers 里面去复制........