经过几天的斗争,我已经认输了。我想用kube-lego在gcloud上设置一个SSL容器站点
我决定一步一步地学习github.com/jetstack/kube-lego
我为echoserver-tls创造了一个秘密
在$ kubectl get svc -n nginx-ingress中,我设置了一个A记录,使其指向外部IP地址。
当我浏览example.com时,回显服务器会响应
CLIENT VALUES:
client_address=('10.46.1.5', 45422) (10.46.1.5)
command=GET
path=/
real path=/
query=
request_version=HTTP/1.1
[truncated...]但是当我尝试https://example.com时,我得到了错误
default backend - 404我的配置完全来自github.com/jetstack/kube-lego。我是否遗漏了一个明显的未提及/跳过的步骤
我不知道要分享的细节,但我展示了来自kubectl describe ing -n kube-lego Name: kube-lego-nginx Namespace: kube-lego Address: xx.xx.xx.xx Default backend: default-http-backend:80 (10.36.1.7:8080) Rules: Host Path Backends ---- ---- -------- example.com的结果
`/.well-known/acme-challenge kube-lego-nginx:8080 (<none>) Annotations: whitelist-source-range: 0.0.0.0/0 ssl-redirect: false Events: FirstSeen LastSeen Count From SubObjectPath Type Reason Message --------- -------- ----- ---- ------------- -------- ------ ------- 21m 21m 1 nginx-ingress-controller Normal CREATE kube-lego/kube-lego-nginx 21m 21m 1 nginx-ingress-controller Normal UPDATE kube-lego/kube-lego-nginx 21m 21m 1 nginx-ingress-controller Normal CREATE ip: xxx.xxx.xx.xxx`如果您需要更多信息/日志,请让我知道。来提供帮助。谢谢。
发布于 2018-01-28 16:14:27
如果您通过遵循https://example.com获取default backend - 404,这意味着您的SSL证书安装正确,并且入口没有找到要向您的主机公开的服务。因此,它使用默认的后端,该后端对每个请求使用消息default backend - 404进行响应。
问题可能出在您的入口配置中。它应该看起来像这样:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: basic-ingress
annotations:
kubernetes.io/tls-acme: "true"
kubernetes.io/ingress.class: "nginx"
kubernetes.io/ingress.allow-http: "false"
spec:
tls:
- hosts:
- example.com
secretName: echoserver-tls
rules:
- host: example.com
http:
paths:
- backend:
serviceName: echoheaders # your service name
servicePort: 80
path: /https://stackoverflow.com/questions/46777508
复制相似问题