.net - 共享 IIS 服务器上的 HTTPS - 浏览器警告

标签 .net iis ssl https http-status-code-404

我们有一个带有多个客户端网站的 Windows 服务器。
一个网站,我们称它为 Bubbles,使用 HTTPS。
另一个网站,我们称它为 Tango,不使用 HTTPS。

我们在服务器上为 Bubbles 安装了 SSL 证书。
现在,来自 Tango 的人试图访问 https://tango并收到有关 SSL 证书不属于 tango 域的浏览器警告(这是正确的,因为该证书适用于 Bubbles 域)。

如何去除浏览器警告?
理想情况下,我会将 Tango 上的 HTTPS 请求重定向到 HTTP 网站。
如果无法重定向,我希望至少显示 404。

谢谢

最佳答案

在 SSL 层,您所拥有的只是 IP 地址和端口,因此为此您需要将 Tango 和 Bubbles 以某种方式绑定(bind)到不同的 IP 和端口集。我想目前你只有一个 IP,使用 host-headers 作为 http 流量,使用 :443 作为 SSL - 这当然意味着就 SSL 而言只存在气泡(如果你试图在 :443 上配置 SSL Tango,你会发现它不会让你 - 这个盒子只能为每个 IP/端口组合提供一个站点)。

最终,您最好的选择是将 Bubbles 和 Tango 映射到不同的 IP 地址,并让服务器知道每个地址,将不同的站点绑定(bind)到正确的 IP。您可以(仅)为 http 使用主机 header ,但不能为 SSL 使用主机 header 。

如果你有类似 HAProxy 或其他一些 NLB 的东西,你也可以动态地重新映射端口,这样你的网络服务器只有一个 IP 并在不同的端口上处理不同的站点(包括 SSL)——但随后只是转移了NLB 上游的“需要多个 IP 地址”问题。当然,外部客户端浏览器应该只需要使用 :80 和 :443,但是您的网络中您可以根据需要重新映射它们。

关于.net - 共享 IIS 服务器上的 HTTPS - 浏览器警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10295425/

相关文章:

c# - 我可以更改 Environment.NewLine 的值吗?

c# - 使用 C# 使用 GZipStream 类对包含子目录的目录进行 Gzip 压缩?

.net - Raspberry Pi 上的单声道

javascript - GeoServer、OpenLayers3 getGetFeatureInfo 跨站点(不同方法)

macos - Mac上的Docker在更改ssl证书的代理后面

.net - BlipExtension Schema URI : "28A0092B-C50C-407e-A947-70E740481C1C" 的值

Http header -缓存控制 : max-age - behaviour?

asp.net - 无法以编程方式将绑定(bind)添加到 IIS - redirection.config 权限(带有视频!)

ssl - 使用 SSL 证书查看站点时出现问题

delphi - 加载 SSL 模块失败。一个或多个映射方法不可用