我有一个使用 https (SSL) 的 asp.net 应用程序。这在我的本地计算机和亚马逊 AWS(生产环境)中运行良好。
但是当我在办公室托管此应用程序(用于测试)时,会发生一些奇怪的事情。
我可以在浏览器中看到 https 和锁定标志。
Fiddler 还显示输出已加密并显示端口 443。
但是
HttpContext.Current.Request.IsSecureConnection
返回 falseHttpContext.Current.Request.Url.Scheme
返回 http。
在办公室,我们使用 Juniper SSG 防火墙和 TMG 2010 (Forefront Threat Management Gateway 2010)。所以服务器通过 Juniper 和 TMG 2010 接收请求。在此先感谢。
最佳答案
为了降低成本,我怀疑 SSL 证书安装在 TMG 网关上,并且该网关在将请求传递到实际 Web 服务器时只是将请求重写为标准 HTTP。因此,当请求到达 IIS 和您的 Web 应用程序时,它是一个标准的纯 HTTP 请求。
关于c# - 在 HTTPS 请求中,Request.IsSecureConnection 返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12725859/