gpt4 book ai didi

asp.net - 将我的 ASP.NET 网站移动到 Windows Server 2012 上的 IIS 8...服务丢失 : . svc 文件是可见的,但它们的方法给出了 404

转载 作者:行者123 更新时间:2023-12-04 01:18:17 25 4
gpt4 key购买 nike

我从 Windows Server 2003 上的 IIS 6 迁移过来。

我可以浏览到 .svc 文件 .如果我转到 http://example.com/Service.svc,我会得到一个很好的标准“这是 Windows© 通信基础服务”页面在浏览器中。

但是我无法浏览到任何方法 - 如果我转到 http://example.com/Service.svc/Method?parameter=xyz,我会收到 404 错误在浏览器中。

有没有人见过这样的事情? 有什么想法或建议吗?

我想我可能对这个问题有类似的问题:WCF on IIS8; *.svc handler mapping doesn't work

但是症状是不同的(看起来他们根本看不到 .svc 文件)并且没有一个解决方案有效(我安装了 WCF 功能的 Http Activation 等)。

最佳答案

好吧,我放弃了,向 Microsoft 支付了 250 美元以获得支持。在技​​术人员的帮助下,我们找到了解决方案,昨晚确认这绝对是我们所有服务器的解决方案:我们在 web.config 中为 WCF 服务完全禁用了 SSL:

<system.serviceModel>
<bindings>
<webHttpBinding>
<binding>
<security mode="Transport" />

“传输”指的是传输层安全性(TLS 是新的 SSL),也就是 HTTPS。将其更改为:
<system.serviceModel>
<bindings>
<webHttpBinding>
<binding>
<security mode="None" />

事实证明,WCF 对您使用的是 HTTP 还是 HTTPS 极为敏感,如果您使用错误的方法,您不会得到任何有用的错误,只有 404。

就我而言,旧服务器和新服务器都配置为始终使用 HTTPS 以确保安全。但是在新服务器上, SSL (TLS) 加密在负载均衡器上终止 .在那种情况下,加密只发生在用户的浏览器和我们的负载均衡器之间,以及 我们的负载均衡器和 Web 服务器之间的流量是未加密的 HTTP .

因此该服务正在监听 HTTPS,当请求通过 HTTP 到达时,它只是完全忽略了它。

(所有其他在线讨论类似问题的重点是卸载和重新安装 IIS 和 ASP.NET 以及 WCF 和 HTTP 激活等,所以我希望这对某人有所帮助。如果您对 MS 堆栈有疑问,我建议 MS 支持没有及时回答。这肯定比浪费几个小时试图单独修复它便宜得多)。

关于asp.net - 将我的 ASP.NET 网站移动到 Windows Server 2012 上的 IIS 8...服务丢失 : . svc 文件是可见的,但它们的方法给出了 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26398049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com