当前位置: 首页 > article >正文

<QNAP 453D QTS-5.x> 日志记录:Docker 运行的 Flask 应用 SSL 证书 过期, 更新证书

延续上一遍:

<QNAP 453D QTS-5.x> 日志记录:在 Docker 中运行的 Flask 应用安装 自签名 SSL 证书 解决 Chrome 等浏览器证书安全

当初想着为了安全,用的是默认:1月。 这不证书就过期,只能更新证书。

更新证书:

两种方式:

  1. 生成 新的证书、 新的私钥 (Flask 应用替换2文件,windows 上导入1个证书)
  2. 使用旧的私钥,只生成新证书 (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 里面去复制........


http://www.kler.cn/a/447930.html

相关文章:

  • 深度学习的DataLoader是什么数据类型,为什么不可用来索引
  • 全脐点曲面当且仅当平面或者球面的一部分
  • jvm字节码中方法的结构
  • 「Mac畅玩鸿蒙与硬件45」UI互动应用篇22 - 评分统计工具
  • 常见的哈希函数构造方法
  • MacOS安装MySQL
  • 数据结构 C/C++(实验五:图)
  • 【SH】在Ubuntu Server 24中基于Python Web应用的Flask Web开发(实现POST请求)学习笔记
  • 基于Spring Boot的动漫交流与推荐平台
  • Cadence学习笔记 8 添加分页符
  • Vue CLI 脚手架创建项目流程详解 (2)
  • 【git】git命令
  • 《Java源力物语》-2.异常训练场
  • 易语言OCR银行卡文字识别
  • 【Java基础面试题030】Java和Go的区别?
  • EGO Swarm翻译
  • SPL06 基于stm32F103 HAL库驱动(软件模拟IIC)
  • 设计模式之 abstract factory
  • Ubuntu 20.04下Kinect2驱动环境配置与测试【稳定无坑版】
  • 国标GB28181平台EasyGBS在安防视频监控中的信号传输(电源/视频/音频)特性及差异
  • 本地Push Git失败
  • QtCreator配置github copilot实现AI辅助编程
  • Django中注册模型到Admin界面
  • 动手学深度学习-多层感知机-7前向传播、反向传播和计算图
  • labelme标签批量转换数据集json_to_dataset
  • oracle dblink 的创建及使用