Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes k8s nginx入口TLS规则:证书与路径_Kubernetes_Kubernetes Ingress_Ingress Nginx - Fatal编程技术网

Kubernetes k8s nginx入口TLS规则:证书与路径

Kubernetes k8s nginx入口TLS规则:证书与路径,kubernetes,kubernetes-ingress,ingress-nginx,Kubernetes,Kubernetes Ingress,Ingress Nginx,我正在努力让我的nginx入口(在AWS EKS上)使用路径规则和TLS 入口是从 入口中的一个片段如下所示: spec: tls: - hosts: - example.com secretName: ingress-tls rules: - host: example.com - http: paths: - path: /api pathType: Prefix backend:

我正在努力让我的nginx入口(在AWS EKS上)使用路径规则和TLS

入口是从

入口中的一个片段如下所示:

spec:
  tls:
  - hosts:
      - example.com
    secretName: ingress-tls
  rules:
  - host: example.com
  - http:
      paths:
      - path: /api
        pathType: Prefix
        backend:
          service:
            name: api-service
            port:
              number: 443
此入口创建AWS网络负载平衡器,URL如下
https://xyz.elb.us-west-1.amazonaws.com/

我正在更新
入口tls
使用证书加密
证书管理器

当我使用NLB URL访问入口时
https://xyz.elb.us-west-1.amazonaws.com/api
,我明白了

  • 好:根据入口定义中的路径规则正确路由(即​去我的
    api服务
    如预期)
  • 错误:证书错误,因为我没有使用证书所在的域访问入口
  • 当我使用正确的域访问入口时,例如。
    https://example.com/api
    这正是我想要做的,我得到:

  • 坏的:
    404
    ,它不遵守我的路径规则,并转到
    上游默认后端
  • 好的:证书都很好,是给你的
    example.com
    证书管理器
    已配置
  • 我试着取下那根绳子
    主机:example.com
    来自
    规则:
    ,这给了我:

  • 好:根据入口定义中的路径规则正确路由
  • 坏:证书错误,它提供默认入口“假”证书,而不是
    example.com
    ,我想 规则中缺少主机,但不确定确切原因
  • 有人能帮我拿吗


  • 我在这里不知所措。

    在盯着这个看了几个小时之后,我挖开了lua的那块脏东西,那就是
    nginx.conf
    对于这个,我找到了!也许有一天有人会遇到这个问题,并且可能会发现这很有用

    问题是:

      rules:
      - host: example.com
      - http:
    
    这是(我认为)一个定义
    主机
    没有转发规则,然后
    http
    无主机转发规则。我的意图显然是转发规则是针对主机的

    这将是:

      rules:
      - host: example.com
        http:
    
    我必须说,如果可能的话,我现在甚至比以前更不喜欢YAML了