我们有一个仅供内部使用的网站,但它公开托管在常规互联网域上,并使用 https 协议保护。
但是,该页面包含指向内部网络(LAN)资源(图像和视频)的http(s)链接。
如果内部链接使用 http 协议,浏览器会因为混合内容规则而阻止它们。
另一方面,如果它们是 https 链接,浏览器仍然会阻止它们,因为证书中写入的主机名与浏览器请求的主机名不匹配。这是因为浏览器通过其内部 IP 地址或其内部主机名到达内部 http 服务器。据我所知,我们无法获得内部名称或网络的有效 SSL 证书,另一方面,我们拥有的公共证书与内部服务器的主机名不匹配。
这些问题是否是基础设施设计不佳的表现?
我能做些什么让一切正常运转吗?
导入自签名证书或自定义 CA 不是一个选择,因为它涉及用户的协作,而我无法依赖它。
使用水平分割 DNS 功能是不可取的,因为它会引入额外的单点故障。我的意思是,如果水平分割 DNS 出现故障,它将切断所有应用程序(不仅仅是 Web 浏览器)和 LAN 中所有设备的整个 Internet 连接。我知道这种情况也适用于路由器 DNS 转发服务,但用户倾向于接受路由器发生故障时 Internet 连接中断,而他们不接受由内部服务(例如内部 DNS)导致的 Internet 中断,该服务应该有助于运行内部网站仅有的。
让公共 https 服务器充当内部资源的代理(或以任何方式转发)也是不可取的,因为这会造成带宽开销,而最初的网络架构师从一开始就希望通过链接内部网络的资源来避免这种情况。