2017-08-29 65 views
0

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

回答

0

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

  • 根据应用的不同,可能会或可能不会使用Server Name Indication (SNI),并根据这可能导致对服务于不同的证书服务器的设置。
  • 根据应用程序的不同,它可能会查看CN进行验证,或者可能不会。该标准指出,如果没有SAN(主题备用名称)DNS记录,但只有咨询CN才能咨询CN,即使没有SAN DNS记录,即使存在SAN DNS记录,其他用户也不会咨询CN但只有一个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记录。如果您希望通过URL中的IP地址而不是域来访问该站点,请确保您有SAN IP和SAN DNS记录。此外,您拥有的任何重定向都应指向完全相同的域名或IP地址。

一旦完成并且问题仍然存在,请尝试在Stackoverflow的新帖子中添加足够的有关网站设置,证书内容以及确切问题的详细信息,以便问题可以由其他人和他们复制可以帮助您调试剩余的问题。

+0

抱歉,如果您谈论客户端或服务器应用程序,则很难理解;我在这方面也澄清了我的问题。谢谢你回答 – guillaume

+0

@guillaume:我只是在这里谈论客户网站检查。但是根据您的信息不可能说您的URL中的主机名被更改为IP地址。这可能是你没有检测到的一些重写,或者它可能是客户端中的错误。如果问题可以通过浏览器复制,您可以使用浏览器开发工具精确查看接收到的请求和响应,从而找出使用IP而不是主机名的来源。 –