Kubernetes Externalname使用https
我们正在尝试为Kubernetes创建一个ExternalName服务,以隐藏链接到Firebase的URL:Kubernetes Externalname使用https,kubernetes,Kubernetes,我们正在尝试为Kubernetes创建一个ExternalName服务,以隐藏链接到Firebase的URL: kind: Service apiVersion: v1 metadata: name: firebase namespace: devel spec: type: ExternalName externalName: firebase-project-123456.firebaseio.com 服务创建正确,我们可以ping到http://firebase。但是,连
kind: Service
apiVersion: v1
metadata:
name: firebase
namespace: devel
spec:
type: ExternalName
externalName: firebase-project-123456.firebaseio.com
服务创建正确,我们可以ping到http://firebase
。但是,连接到firebase端点不起作用:
curl -v http://firebase/activity.json
< HTTP/1.1 404 Not Found
< Content-Type: text/html; charset=UTF-8
< Referrer-Policy: no-referrer
curl-vhttp://firebase/activity.json
未找到
一个想法是https存在问题(因为目标服务在https上运行),但是我们可能不会得到404,而是其他一些错误。我不知道途中可能出现了什么问题。您可能遇到了虚拟主机问题。firebase-project-123456.firebaseio.com是一个虚拟主机名,用于将请求路由到正确的后端。Kubernetes外部服务本质上是DNS CNAME,它强制对实际主机名进行第二次DNS查找 看看这是否适合您:
curl -v -H "Host: firebase-project-123456.firebaseio.com" http://firebase/activity.json
如果是这样,那就是你遇到的。您可能需要创建一个简单的服务,将您的请求代理到firebase的正确URL。这也是我的想法,谢谢您的确认。您将如何实施此类服务?Nginx?还有更小的吗?我会在吊舱里旋转一个nginx代理。行业标准不能出问题。