ssl - Kubernetes Ingress SSL 证书无效

标签 ssl nginx kubernetes ssl-certificate kubernetes-ingress

我已经将一个 django 网络应用程序迁移到 kubernetes。对于这个应用程序,我正在运行一个可以从域名访问的服务。 以下是我的服务、入口和证书的 yaml 文件:-

服务:-

kind: Service
apiVersion: v1
metadata:
  name: app-service
  namespace: my-namespace
  labels:
    app: my-app
spec:
  type: ClusterIP
  selector:
    app: my-app
  ports:
  - protocol: TCP
    port: 8000
    targetPort: 8000

入口:-

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: app-ingress
  namespace: my-namespace
  annotations:
     kubernetes.io/ingress.class: nginx
     certmanager.k8s.io/acme-challenge-type: http01
     certmanager.k8s.io/cluster-issuer: letsencrypt-prod
     kubernetes.io/ingress.allow-http: "true"
     nginx.ingress.kubernetes.io/ssl-redirect: "false"
spec:
  rules:
  - host: abc
    http:
      paths:
      - path: /
        backend:
          serviceName: app-service
          servicePort: 8000
  tls:
    - secretName: sname
      hosts:
      - abc

证书:-

apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata:
  name: sname
  namespace: my-namespace
spec:
  secretName: sname
  issuerRef:
    name: letsencrypt-prod
    kind: ClusterIssuer
  dnsNames:
  - abc
  acme:
    config:
    - dns01:
        provider: route53
      domains:
      - abc

注意:abc 是我公司的网址。

当我尝试在 url 中打开我的 django web 应用程序时,出现错误:

NET::ERR_CERT_AUTHORITY_INVALID 主题:Kubernetes Ingress Controller 假证书

我已经提到了 Kubernetes Ingress SSL certificate发帖,但没有帮助。我想知道是否有任何遗漏或配置错误的内容。

当我尝试运行命令时 kubectl get ing -n my-namespace;我在入口处没有看到任何地址。

非常感谢!

最佳答案

与所有其他 CA 一样,Let's Encrypt 并不旨在获取也不会为非公共(public)域提供证书。 abc 不是公共(public)领域。

关于ssl - Kubernetes Ingress SSL 证书无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60680985/

相关文章:

存在 Java 根 CA 证书 - 获取 SSL 握手异常

azure - 通过查看问题是否来自不受信任的 CA 来检测中间人攻击

ruby - 将 nginx 安装为 ruby​​ gem 与使用 apt-get

security - 使用 TLS 保护从入口到 Kubernetes 中服务的连接

kubernetes - Kubernetes:对于包括本地在内的所有环境,是否可能具有完全相同的部署描述符?

IIS 进程无法访问正在使用的文件

asp.net-mvc - 如何使用共享主机在我的网站中添加 ssl?

php - Symfony2 Windows/Linux 的合适开发环境

http - 如何通过代理转发 http 2 协议(protocol)版本?

kubernetes - 使用来自GitLab的运行器部署到Kubernetes集群