ssl - Kubernetes: Nginx Ingress注解----> nginx.ingress.kubernetes.io/secure-backends

标签 ssl nginx kubernetes

问题:我正在尝试使用入口访问托管在我的 k8 集群上的保管库集群。当前使用的是 nginx 入口 Controller 0.10.2 版本。

我在 Ingress 中使用自定义生成的 TLS 证书,它指向 Vault 集群。我在与 Ingress 相同的命名空间中拥有 TLS 证书。

问题:无法通过提供带有用于入口的 ca.crt 的 vault status 命令来访问后端。

环境变量集是

        VAULT_ADDR=https://vault.ingress.staging.k8s.com
        VAULT_SKIP_VERIFY=true

无法获取状态,即流量正在入口处停止。当我检查入口 Controller 的日志时,它说

7 backend_ssl.go:146] 使用完整的中间链 CA 证书生成 SSL 证书时出现意外错误:证书无效。

我已经生成了与 Ingress 资源的通用名称相匹配的自定义 TLS 证书。所以无法弄清楚为什么会这样。认为可能是由于错误的入口注释使用。

我的问题是 ingress.kubernetes.io/secure-backends: 'true' 出了什么问题,如果是,您能提供有关如何使用它的信息吗?

注意事项:

  • 我正在使用适当的入口类并且知道这肯定没有问题。

  • 我已经部署了几个示例来检查入口是否存在任何问题。即使这样也能正常工作。

* 谁能为 nginx.ingress.kubernetes.io/secure-backends *

提供一个工作示例

任何与此问题相关的解决方案都将不胜感激!!!

Ingress.yaml

kind: Ingress
apiVersion: extensions/v1beta1
metadata:
  name: vault
  namespace: default
  annotations:
    ingress.kubernetes.io/secure-backends: 'true'
    kubernetes.io/ingress.class: "k8s"
spec:
  tls:
    - hosts:
        - vault.ingress.staging.k8s.com
      secretName: vault-server-ingress-tls
  rules:
    - host: vault.ingress.staging.k8s.com
      http:
        paths:
          - path: /
            backend:
              serviceName: example
              servicePort: 8200

最佳答案

你可以试试:

kubernetes.io/ingress.class: "<your_class>"
nginx.ingress.kubernetes.io/secure-backends: "true"
nginx.ingress.kubernetes.io/ssl-passthrough: "true"

请记住,ssl-passthrough 要求必须将额外的命令行参数添加到 nginx-ingress-controller 部署(默认情况下禁用):

--enable-ssl-passthrough

引用。 https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md#ssl-passthrough

关于ssl - Kubernetes: Nginx Ingress注解----> nginx.ingress.kubernetes.io/secure-backends,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49457313/

相关文章:

iphone - 在 RestKit 中混合 http 和 https

ssl - 需要帮助让 nginx 在通配符域上托管服务器

kubernetes - 是否可以有 1 个 pod 附加不同命名空间的多个 PVC

WordPress 不会在我的一生中强制使用 SSL

java - NoHostAvailableException::Java 到 Cassandra SSL 集群连接失败

ssl - Earthly 中的自签名证书

authentication - 如何正确获取由前端设置的 kubernetes 集群中的服务发出的 cookie?

nginx - 为什么我在访问域时收到 400 Bad Request 错误?

php - 无法重新加载 nginx.service : Interactive authentication required

docker - Kubernetes和Helm的配置管理