iis-7 - IIS7 : How do I allow one site to bind to port 443 and prevent binding on other sites

标签 iis-7 ssl webserver shared

我们有一台运行 IIS7 的 Win 2008 服务器。 Web 服务器运行多个站点,其中一个站点的电子商务/数据捕获组件需要 SSL:

  • www.domainA.com :80 & 443
  • www.domainB.com :80
  • www.domainC.com :80
  • www.domainD.com :80

我已经为 domainA 安装了证书并为 www.domainA.com 网站添加了 HTTPS/443 绑定(bind)。但是,如果我尝试访问 https://www.domainB.com , 我看到了 domainA 站点的内容。

如何防止所有网站使用 domainA 的 443 绑定(bind)?当我将证书添加到绑定(bind)时,我无法设置主机名。如果我使用 appcmd 设置主机名,该站点将获得 2 个绑定(bind)并且无法通过 SSL 进行访问。

只有域 A 应允许访问端口 443,其他站点应拒绝连接。

谢谢 詹姆斯

最佳答案

SSL 在发送任何 HTTP header 之前开始连接 - 很明显,服务器现在可以区分此连接用于哪个域,直到建立 SSL 连接。

您的绑定(bind)是正确的 - 其他站点未绑定(bind)到端口 443...但是当建立 SSL 连接并发送第一个 HTTP header 时,它已经在 IP 地址上(名称已通过解析DNS)。

关于解决方案:

要绕过您看到的内容,您需要将 domainA.com 绑定(bind)到与其他 IP 地址不同的 IP 地址(并​​相应地修改 DNS)。

关于iis-7 - IIS7 : How do I allow one site to bind to port 443 and prevent binding on other sites,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8112546/

相关文章:

linux - fork 进程(子进程)和父进程共享套接字的影响

asp.net - HTTP 错误 500.19 - 内部服务器错误 0x800700b7

python - 连接到 rabbitmq SSLError : [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl. c:1108)

.htaccess - 网站HTTPS证书

html - GitLab 默认 url 不安全

c++ - 有没有人对 TNTWEB Web 服务器中的应用程序的 C++ 内存管理有任何想法?

c# - 如何使用 WMI/ADSI 和 C# 在 IIS 中为身份验证的扩展保护启用/禁用/获取状态?

javascript - 为 Web API URL 配置 Angularjs 路由

asp.net - 使用inheritInChildApplications避免子Web应用程序中的web.config继承

content-management-system - 带有 Joomla 的 Intranet 网站?