微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ssl – Kubernetes nginx-ingress TLS问题

我的公司有一个现有的fake.example.com CA证书和一个将fake.example.com映射到我们的负载均衡器IP的A记录

负载均衡器将流量转发到我们的Kubernetes集群.

在集群中,我已经部署了nginx-ingress头盔图,在30200处为https公开了NodePort

我从上面的证书中创建了一个名为test-secret的k8s TLS秘密.

我已经部署了一个服务’test’的应用程序,并安装了以下入口:

apiVersion: extensions/v1beta1
kind: Ingress
Metadata:
  name: test-ingress
  namespace: default
  annotations:
    kubernetes.io/ingress.class: Nginx
spec:
  tls:
  - hosts:
    - fake.example.com
    secretName: test-secret
  rules:
    - host: fake.example.com
      http:
        paths:
        - path: /myapp
          backend:
            serviceName: test
            servicePort: 8080

所以,如果我执行

curl https://{ip for k8s node}:30200/myapp/ping -H 'Host:fake.example.com' -k --verbose

我从我的应用程序得到了预期的响应,但我也看到了

* Server certificate:
*  subject: O=Acme Co; CN=Kubernetes Ingress Controller Fake Certificate
*  start date: Jan 25 20:52:16 2018 GMT
*  expire date: Jan 25 20:52:16 2019 GMT
*  issuer: O=Acme Co; CN=Kubernetes Ingress Controller Fake Certificate

我已在Nginx.conf文件中确认,对于server_name fake.exampe.com,ssl_certificate,ssl_certificate_key和ssl_trusted_certificate指向正确的位置

所以我的问题是,在这种情况下,是否可以配置Nginx以使用正确的证书?

解决方法:

您必须创建一个名为test-secret的秘密.

➜  charts git:(master) kubectl describe secret --namespace operation mydomain.cn-cert
Name:         mydomain.cn-cert
Namespace:    operation
Labels:       <none>
Annotations:  <none>

Type:  Opaque

Data
====
tls.crt:  3968 bytes
tls.key:  1678 bytes

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐