Kubernetes k8s nginx入口TLS规则:证书与路径
我正在努力让我的nginx入口(在AWS EKS上)使用路径规则和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:
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了