很多工具都强制要求 ssl 通信,绕过很麻烦比如 docker,nexus。为了绕过 ssl 费了不少事,后面发现证书安装挺简单的远比绕过工作量小,自签证书也可以通过添加到系统/应用信任的方式正常使用。

使用Nginx

Nginx 是最方便的,给它发了证书后用它来反向代理,客户端就都能使用 ssl 通信了。
给 Nginx 发证书:
有域名且可以被外网访问:certbox
只能内网访问:openssl 自签

想到一个小小的騒操作,如果服务器没有操作权限,可以本地启一个 Nginx 代理过去,本地 Nginx 做个自签,客户端信任并使用本地代理访问过去。

K8s自签

安装 cert-manager 后除了可以配置 Let'Encrypt,还可以配置自签 cert。
internal-cert.yaml
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
  name: internal-ca
  namespace: cert-manager
spec:
  isCA: true
  commonName: internal-ca
  secretName: internal-ca-secret
  duration: 87600h
  renewBefore: 720h
  privateKey:
    algorithm: RSA
    size: 2048
  issuerRef:
    name: selfsigned-issuer
    kind: ClusterIssuer
---
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: selfsigned-issuer
spec:
  selfSigned: {}


---
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: internal-ca-issuer
spec:
  ca:
    secretName: internal-ca-secret

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注