我在使用Bootstrap的ASP.NET 4应用程序的Windows 2008 Server上使用IIS 7。 服务器有一个私有IP地址在工作中使用,但也可以从外部通过公共IP地址访问。 我们的互联网接入提供商为我们做转发。 服务器还运行F-Secure防病毒系统。
当我从服务器本身浏览网站时,使用私有IP或公共IP,它工作正常。 但是当我使用远程客户端(显然使用公共IP)时,它是随机的。 典型的情况是这样的:
等等等等。 这显然是随机的。 有时服务器返回页面,有时我得到INET_E_RESOURCE_NOT_FOUND错误。 它发生在我尝试过的每个客户端,从Windows 10上的Edge到iPhone上的Safari。
有些时候,当我第一次从客户端计算机上浏览服务器时,服务器无法发送主页。 我重试几次无济于事。 然后,在5或10次刷新之后,我可以看到页面。 从那时起,它一切正常,直到最终再次失败。
据我所知,INET_E_RESOURCE_NOT_FOUND并不意味着没有find一个页面(这将是一个404),但找不到服务器 。 它通常与DNS或代理错误相关联。
我一直在看IIS日志文件。 据我所知,有时日志会被这样的条目中断:
GET /fonts/glyphicons-halflings-regular.woff - 80 - 193.144.38.100 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/52.0.2743.116+Safari/537.36+Edge/15.15063 404 3 50 78
显然,客户端试图获取一个字体文件,服务器返回一个404错误。 字体文件在右侧文件夹的服务器上,所以我不确定为什么找不到它。
编辑。 我现在已经解决了字体文件的问题(这是由于IIS上缺lessMIMEtypes的条目),但随机的INET_E_RESOURCE_NOT_FOUND错误依然存在。 字体文件的404可能是一个红色的鲱鱼。
编辑。 我对这个网站有另一个问题,这可能是相关的。 请看这里: https : //stackoverflow.com/questions/43814006/smtpexception-in-asp-net-application-with-remote-browser
有任何想法吗? 谢谢。
你说ISP正在为你做转发,这表明他们是代理/端口转发到一个内部IP和你的服务器只有一个IP地址(可能是私人的)。
如果这是真的,那么它听起来像他们的代理服务器有问题连接到您的IIS服务器(由于许多原因),是一个返回错误。 我会要求提供商检查他们的路由器/防火墙上的日志,看看是否是这种情况。
假设你直接在你的浏览器中得到这个错误,而不是由代理服务器返回,你可以通过在hosts文件中添加一个条目来testing是否是由DNS问题导致的( %windir%\System32\drivers\etc\hosts在Windows中,您需要以pipe理员身份编辑它)将您的网站的公共IP地址与其DNS项相关联)。 如果你这样做,并testing公共网站,你仍然得到相同的错误,这不是一个DNS问题,你可以开始看代理服务器configuration。 (记得在testing后删除条目!)
我会怀疑你的MIMEtypes设置不正确。 我build议你明确地添加它作为你的服务器configuration的一部分。
其他人之前有过这个问题: https : //stackoverflow.com/questions/4015816/why-is-font-face-throwing-a-404-error-on-woff-files
第一件事。 服务器更新是最新的? 检查服务器中.net的版本,并获得最新的。
确保应用程序使用的所有端口都转发给您的isp
此外,请检查您的服务器日志与此https://gallery.technet.microsoft.com/scriptcenter/Get-event-logs-errors-and-6871f163
检查最常见的错误,并检查它是否有关。