notes notes
首页
  • 主题初衷与诞生
  • 介绍
  • 快速上手
  • 目录结构
  • 相关文章

    • 使目录栏支持h2~h6标题
    • 如何让你的笔记更有表现力
    • 批量操作front matter工具
    • 部署
    • 关于写文章和H1标题
    • 关于博客搭建与管理
  • PostgreSQL 全文搜索
  • 依赖注入
  • 开发常见问题
  • 逻辑删除
  • TCP 粘包和拆包
  • netty 粘包和拆包
  • 在k8s集群中搭建一个harbor私有仓库
  • 优雅停机
  • helm 命令学习
  • yield 关键字
  • 不定参数
TODO
  • REST API
  • 使用 IntelliJ IDEA 反编译 jar
  • Spring Boot 删除前后空白字符
  • 设计模式

    • 装饰器模式
Docker
Tool Box (opens new window)
GitHub (opens new window)
首页
  • 主题初衷与诞生
  • 介绍
  • 快速上手
  • 目录结构
  • 相关文章

    • 使目录栏支持h2~h6标题
    • 如何让你的笔记更有表现力
    • 批量操作front matter工具
    • 部署
    • 关于写文章和H1标题
    • 关于博客搭建与管理
  • PostgreSQL 全文搜索
  • 依赖注入
  • 开发常见问题
  • 逻辑删除
  • TCP 粘包和拆包
  • netty 粘包和拆包
  • 在k8s集群中搭建一个harbor私有仓库
  • 优雅停机
  • helm 命令学习
  • yield 关键字
  • 不定参数
TODO
  • REST API
  • 使用 IntelliJ IDEA 反编译 jar
  • Spring Boot 删除前后空白字符
  • 设计模式

    • 装饰器模式
Docker
Tool Box (opens new window)
GitHub (opens new window)
  • 知识积累

    • PostgreSQL 全文搜索
    • @AutoWired VS @Resource VS @Inject
    • 开发常见问题
      • 逻辑删除
      • TCP 粘包和拆包
      • netty 粘包和拆包
      • 在k8s集群中搭建一个harbor私有仓库
      • 优雅停机
      • helm 命令学习
    目录

    开发常见问题

    开发常见问题

    # maven 连接启动了 TLS 的仓库时,因证书问题无法连接

    # 短期解决办法

    mvn clean install -Dmaven.wagon.http.ssl.insecure=true
    

    # 长期解决办法

    # 将仓库的证书导入 java keystore, 如下命令将证书导入默认 cacerts 并设置别名为 maven_certs,默认密码为changeit
    user@GH-HT6M693:~$ sudo /opt/java/zulu8.66.0.16-sa-jdk8.0.352-linux_x64/bin/keytool -import -alias maven_certs -keystore /opt/java/zulu8.66.0.16-sa-jdk8.0.352-linux_x64/jre/lib/security/cacerts -file ~/maven.crt
    Enter keystore password:
    ......
    Trust this certificate? [no]:  yes
    Certificate was added to keystore
    

    # Local CA 自签发证书不被curl/wget等程序信任

    # 问题描述:

    在公司的电脑上用 WSL(Ubuntu) 上安装 PostgreSQL ,需要先导入 repository signing key:

    # Import the repository signing key:
    wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
    

    执行该命令失败,排查后发现原因是公司网络使用的是Local CA,而该 CA 在公司电脑上是被信任的,而在 WSL 中不被信任.

    # 短期解决办法

    忽略证书, 将上述命令改为:

    wget --no-check-certificate --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
    

    但这只是短期解决方案,下次使用curl/wget访问别的链接,同样需要添加忽略证书参数,因此有必要找到一个长期解决方案。

    # 长期解决办法

    将 Local CA 导入 WSL(Ubuntu) 的 trust store即可。

    # 从浏览器 export Root CA cert:
    1. F12 -> Securit -> View certificate -> Details -> Certificate Hierarchy -> 点击选择第一个Root CA -> Export
    2. 保存到本地,命名为 local-ca.crt
    # 导入 trust store

    只能将 PEM 格式的证书安装到trust store, 如果证书是其他格式,需要先将其转换成 PEM 格式。

    PEM 格式证书形如:

    -----BEGIN CERTIFICATE-----
    ...
    ...
    ...
    -----END CERTIFICATE-----
    

    取得证书之后,使用如下命令导入:

    sudo apt-get install -y ca-certificates
    sudo cp local-ca.crt /usr/local/share/ca-certificates
    sudo update-ca-certificates
    
    上次更新: 2023/12/08, 06:34:37
    @AutoWired VS @Resource VS @Inject
    逻辑删除

    ← @AutoWired VS @Resource VS @Inject 逻辑删除→

    Theme by Vdoing | Copyright © 2023-2023
    Powered by vuepress-theme-vdoing
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式