什么改变了请求的URL?

时间:2017-08-29 02:09:26

标签: url ssl iis certificate

尝试从我的客户端应用程序下载位于我服务器上的文件时,我不一致地收到错误。错误是请求URL与证书CN不匹配。在错误中,请求URL是服务器IP,但证书上的CN是域名,并且证书中没有IP条目,因此我猜这是错误的原因。证书有2个SAN条目,比如mydomain.com和www.mydomain.com 我的客户端应用程序使用域名进行请求,所以这是我的问题: 域名在哪里变成了IP?
我检查了我的IIS服务器,我的webapp中没有重写规则(两个都没有重定向);我确实有一个绑定我的IP地址,这可能是问题吗?

1 个答案:

答案 0 :(得分:0)

我不知道正确证书的具体内容,服务器设置,多个未指定系统和应用程序的行为以及您认为正确的URL的具体内容。但我可以想象以下问题:

  • 根据应用程序的不同,它可能会或可能不会使用Server Name Indication (SNI),并且根据服务器的设置,这可能会导致提供不同的证书。
  • 根据应用程序,它可能会查看CN以进行验证,也可能不会。该标准规定只有在没有SAN(主题备用名称)DNS记录但是各种应用程序咨询CN时才会咨询CN,即使有SAN DNS记录,而其他人也不咨询CN,即使没有SAN DNS记录但只有SAN IP记录。有些人坚持不看CN,即使根本没有SAN记录。
  • 如果URL不是每个域而是IP地址,则某些应用程序会正确检查SAN IP记录,有些应用检查CN,有些则忽略任何SAN IP记录,但错误地希望IP地址包含在SAN DNS记录中
  • 除了不同的应用程序可能实际使用略有不同的URL,即一些example.com,一些www.example.com,一些开始使用HTTP,一些使用HTTPS。这可能会导致不同的证书或重定向,具体取决于服务器设置。

因此,为了减少问题,无论是否使用SNI,无论使用哪个可能的URL,都要确保只有一个证书可以获得服务。还要确保证书实际上包含您期望作为SAN DNS记录的每个域名。如果您希望通过IP地址访问站点而不是URL中的域,请确保您同时拥有SAN IP和SAN DNS记录。此外,您拥有的任何重定向都应指向完全相同的域名或IP地址。

一旦完成并且问题仍然存在,请尝试使用Stackoverflow上的新帖子,在其中添加有关站点设置,证书内容以及确切问题的详细信息,以确定哪些客户可以重现这些问题,他们可以帮助您调试剩余的问题。