我搜索(很多天以来......)如何使用 Ingress Nginx 以便使用外部 url 作为后端。
是的,我使用带有 externalName 的服务对象。我还在 nginx 中测试了很多指令但没有成功......
目标很简单:
我的入口可以解析 url-ext.com,但用户不能。当然,url-ext.com 这里有适当的证书,并且公开为 HTTPS ;)。注意:我的入口暴露了 2 个 url,但我认为这并不重要。
我的代码:
服务 :
kind: Service
apiVersion: v1
metadata:
name: external-eip
namespace: external-url
spec:
type: ExternalName
externalName: url-ext.com
Run Code Online (Sandbox Code Playgroud)
入口:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: external-eip
namespace: external-url
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nginx.ingress.kubernetes.io/upstream-vhost: "url-ext.com"
nginx.ingress.kubernetes.io/configuration-snippet: |
# more_clear_input_headers "Host" "X-Forwarded-Host";
more_set_input_headers 'Host: url-ext.com';
proxy_set_header Host url-ext.com;
spec:
rules:
- host: url-public.com
http:
paths:
- path: …Run Code Online (Sandbox Code Playgroud)