首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换nginx- Ingress Controller上的Kubernetes ingress伪造证书

替换nginx- Ingress Controller上的Kubernetes ingress伪造证书
EN

Stack Overflow用户
提问于 2021-05-28 00:48:08
回答 2查看 619关注 0票数 0

我们在GKE上的k8s集群上运行一个应用程序。

我们使用nginx-ingress-controller作为外部负载均衡器服务,我们可以在https://12.345.67.98上访问它。我们正面临一个问题,当我们直接访问前面提到的URL上的负载均衡器时,会收到一个证书警告,因为使用了自签名的"Kubernetes Ingress Controller Fake Certificate“。

我们只有将我们的域(例如app.our-company.com)映射到Kubernetes服务的Ingress对象。nginx负载均衡是负载均衡类型的Kubernetes服务。对于我们的域的SSL/TLS,使用cert-manager。只有当我们直接访问IP地址上的负载均衡器时,访问这些域时才不会出现问题。

有没有办法替换负载均衡器上的证书,这样它就不再使用默认的假证书了?

EN

回答 2

Stack Overflow用户

发布于 2021-05-28 01:19:22

您需要使用CA签名证书和私钥来定义密钥。这些必须在秘密中进行base64编码。然后,您将在入口清单的"tls“部分中使用此密码。

确保在上面的证书中建立证书链(证书、->、中间CA、->根CA)。

代码语言:javascript
复制
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: nginx-test
spec:
  tls:
    - hosts:
      - foo.bar.com
      # This assumes tls-secret exists and the SSL
      # certificate contains a CN for foo.bar.com
      secretName: tls-secret
  rules:
    - host: foo.bar.com
      http:
        paths:
        - path: /
          backend:
            # This assumes http-svc exists and routes to healthy endpoints
            serviceName: http-svc
            servicePort: 80

References

票数 1
EN

Stack Overflow用户

发布于 2021-08-01 13:12:28

您可以在Ingress Controller helm安装期间覆盖默认SSL证书。参考:https://github.com/kubernetes/ingress-nginx/blob/main/charts/ingress-nginx/values.yaml

代码语言:javascript
复制
  ## Additional command line arguments to pass to nginx-ingress-controller
  ## E.g. to specify the default SSL certificate you can use
  ## extraArgs:
  ##   default-ssl-certificate: "<namespace>/<secret_name>"
  extraArgs: {}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67726579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档