我正在考虑使用现有的外部域(例如,https://external.host1.com/resources/) 作为内部 wifi 网络内的别名。例如,前面提到的公共资源 URL 将作为 https://internal.host2.com/resources/。
在这个例子中,结果是当用户在指定的 wifi 网络上并在
https://external.host1.com/resources/resource.csv,他们反而从https://internal.host2.com/resources/resource.csv
据我所知,这可以通过 DNS 配置实现。我想知道的是 DNS 也可以重新配置凭据或证书。例如,如果 wifi 网络中的客户端旨在获取资源的 OAuth 令牌https://external.host1.com/resources/,DNS 能否通过这种方式重新路由以获取令牌(或其他凭证)https://internal.host2.com/resources/?
更新:本文的上一版本使用了 Azure Blob 和 Sharepoint URL 作为示例。我编辑了 UR 以使其更通用,因为别名可能不会涉及其中任何一个。
答案1
- 你描述的是不是只是 DNS 更改。您正在谈论将一个 URL 映射到另一个 URL
- https://public.blob.core.windows.net/resources/resource.csv
- https://internal.sharepoint.com/:x:/r/sites/internal/resources/resource.csv
这些 URL 上的路径(主机名后面的部分)并不相同。DNS 只能更改主机名部分,而路径保持不变,因为这是 HTTP 协议的一部分,而不是 DNS 的一部分。
假设您的目标路径似乎是在 IIS 上运行的 SharePoint,那么进行路径映射的最直接方法是使用URL重写规则。
DNS 系统和托管 sharepoint 的 IIS Web 服务器都不会为您“转换证书”。您可以做的是获取 的证书
public.blob.core.windows.net
,然后使用它在与 相同的 IIS 站点上设置第二个 https 绑定internal.sharepoint.com
,主机名为public.blob.core.windows.net
。如果您无法获取此辅助证书并配置 Sharepoint 以使用它,同时还无法添加 URLRewrite 来处理不同的路径,那么下一步就是在 Internet 和内部 Sharepoint 服务器之间安装某种代理服务器。
对于这些差异,我常用以下类比:
DNS 就像 411(电话查号服务)。IIS 是接待员。URLrewrite 会改变接待员听到的内容。
你向查号台查询 rpresser 的电话号码。查号台回复为 555-555-1212。
您的浏览器向 DNS 请求 www.hostname.com 的 IP 地址。它回复 10.4.0.1
接线员接了电话,问你要找谁。你回答“rpresser”
您的浏览器连接到 IIS 10.4.0.1,发送
Host: www.hostname.com
并GET /resources
Authorization: xdlsjflsjdf
接待员听力不好,所以其他人听了“rpresser”并在她耳边大喊抑制器
URLRewrite 删除
Authorization
标头并更改GET /resources
为GET /deep/resources
接线员拨通了我的号码并接通了电话。我开始说话。
IIS 查找 /deep/resourceswww.hostname.com网站并返回那里的所有内容。