我正在对我自己的私人服务器上的 k8s 集群进行一些实验。但遇到了一些问题。
首先是我的基础设施:
我有公共静态 IP,DNS 中有通配符域名(即 *.k8s.myperttydomain.com 绑定到 XXXX)。我可以从互联网 PING 此域名。
我让网关监听 XXXX 上的端口 80 和 443 端口,并将对 LAN 的请求转发到 SERVER-1。SERVER-1 是带有 IIS 的 WIN2016 服务器。
使用 IIS 我有一些应用程序可以毫无问题地运行。我可以从互联网或 LAN 访问它(我在 LAN 上有带有内部服务地址的 DNS)。
例如,我们有服务器 service.myprettydomain.com,其公共 DNS 中的 DNS 记录为 XXXX,私有 DNS 中的 DNS 记录为 SERVER-1
现在我们添加 k8s 集群,并希望将所有对主机 *.k8s.myprettydomain.com 的请求转发到它
我已在 IIS 中启用 ARR,启用代理(设置地址为 127.0.0.1),启用 URL 重写来检查传入请求,关闭 SSL 卸载并将以下规则添加到 URL 重写:模式:*(通配符)条件:{HTTP_HOST} 匹配 *.k8s.myprettydomain.com 操作:重写 http://{R:0}
当我尝试从互联网访问它时,出现 404 错误。我找不到任何请求日志 - 事件中没有,失败的请求中也没有,所以我不知道从哪里开始寻找问题。
我尝试将重写目标指定给 SERVER-1 上的某些服务,但得到相同的结果,所以我认为我误解了 ARR 的工作方式。
如何解决这个任务的建议
更新 1好吧,也许我试图发明一辆自行车,而且还有另一种更简单的方法,但是......有一个方案和一些额外的评论: 方案
那么,我想要什么。我希望在 k8s 主机中拥有服务,它可以从 lets encrypt 获取 ssl 证书,并且我可以从 WWW 和 LAN 访问该服务。