我开始在我的应用程序中记录异常,并且我每天都会多次收到异常:
The requested resource can only be accessed via SSL.
我的网站正在使用HTTPS,FilterConfig.cs中包含以下内容:
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
#if (!DEBUG)
filters.Add(new RequireHttpsAttribute());
#endif
}
}
有没有办法找出试图访问的资源的来源,以便可以防止它?此外,如何在我的本地环境中重新创建,因为它似乎只在生产中发生。我尝试在没有HTTPS的情况下导航到网址,但这不会导致异常。
答案 0 :(得分:1)
最简单的方法是查看IIS日志(或用于托管站点的任何服务器)。你会看到那里的所有要求。
请注意,您无法阻止外部呼叫者尝试使用HTTP - 即许多自动漏洞扫描程序都以HTTP开头,并且可能会使用随机的php / jsp请求充斥您的日志。
对于开发环境 - 如果查看仅为非调试版本添加的代码属性 - 注释#if (!DEBUG)
可能会在本地重现问题。请注意,您可能需要在开发环境中实际设置SSL以尝试端到端方案。
答案 1 :(得分:1)
在审查生产日志的过程中我也看到了这一点。对远程主机IP和UserAgent的研究使我们相信它是一个网络爬虫。