IIS:通过 https“找不到资源”,但通过 http 一切正常

IIS:通过 https“找不到资源”,但通过 http 一切正常

我正在使用 IIS 配置 REST 服务,并且通过 http 一切正常。但是,当我切换到 https 时,我看到:

    Server Error in '/' Application.`
--------------------------------------------------------------------------------

    The resource cannot be found. 
    Description: HTTP 404. The resource you are looking for (or one of its
    dependencies) could have been removed, had its name changed, or is temporarily 
    unavailable.  Please review the following URL and make sure that it is spelled
    correctly. 

    Requested URL: /SiteName/ServiceName.svc/1

    Version Information: Microsoft .NET Framework Version:2.0.50727.3620; ASP.NET Version:2.0.50727.3618 

我是 IIS 新手,不知道问题出在哪里。任何帮助我都感激不尽。谢谢!

答案1

我遇到了这个问题,但这是一个完全不同的问题。请确保在部署网站之前对其进行编译。我有一些页面已编译,但有些页面未编译。

我花了很长时间才弄清楚,因为当我尝试在应用程序服务器(Windows Server 2008)上查看这些页面时,由于 Internet Explorer 的安全设置,它不允许我查看非安全页面(http 协议)。在服务器框上的浏览器上测试时,我只有端口 80 的绑定。所以我甚至看不到已编译的 aspx 页面,更不用说未编译的 aspx 页面了。但是,在同一个站点的两个框上都可以看到纯 HTML 页面 - 这部分很有趣。当我在该网络上的另一台计算机(运行 Windows 7)上查看页面时,已编译的 aspx 页面显示正常,因为它已编译。而未编译的页面则没有。

另一个网站上的长答案:

https://stackoverflow.com/questions/3547217/am-running-the-web-allication-using-asp-net-am-getting-this-error/14866462#14866462

答案2

当 http 和 https 响应不同时,通常是一个绑定问题。

检查站点属性中的绑定,以确保您的站点上的 http 和 https 绑定相同。此外,IPv6 有时会发挥作用,导致您的绑定无法按您认为的那样响应。一个好的测试方法是通过 IP 而不是主机名。如果它没有抛出相同的 404,那么您就知道您有一个 IPv6 绑定问题。

答案3

检查 SSL 证书的“通用名称”属性。它应该与 URL 中的服务器名称匹配。

相关内容