如何解决如何使用AGIC将主机名分配给Azure应用程序网关
我正在使用Azure Kubernetes服务在k8s上部署Web应用程序,并且正在使用Application Gateway Ingress Controller来转发来自k8s集群外部的请求。
我以这种方式定义了Ingress:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-ingress
annotations:
kubernetes.io/ingress.class: azure/application-gateway
appgw.ingress.kubernetes.io/backend-path-prefix: /
appgw.ingress.kubernetes.io/use-private-ip: "true"
appgw.ingress.kubernetes.io/ssl-redirect: "true"
spec:
tls:
- hosts:
- my.hostname.com
secretName: my-cert
rules:
- host: my.hostname.com
http:
paths:
- backend:
serviceName: my-backend
servicePort: 80
my-cert
是我创建的秘密,其中包含我公司不久前购买的SSL证书,该证书对所有名称*.hostname.com
有效(示例)。
现在,如果我应用此YAML,则会为AGIC配置秘密(我可以从AGIC的pod日志中看到一切正常),但是我无法通过HTTP或URL访问my.hostname.com
上的应用程序通过HTTPS。
相反,如果我从Ingress定义中删除行host: my.hostname.com
,则可以通过应用程序网关的专用IP访问该应用程序。
您知道在使用AGIC时是否需要执行一些特殊操作才能将主机名分配给Application Gateway吗?
解决方法
好的,我找到了问题/解决方案。我只需要将my.hostname.com
主机名分配给公司Domain Controller中的专用网络的IP。这样,在公司网络中,主机名可以解析为IP
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。