检查 Url 是否以 "http" 或 "https" 开头,是否有可能不安全的 Url 以 "https" 开头?
Checking Url if it starts with "http" or "https", is it possible that a non-secure Url starts with "https"?
我正在将我的网站发布到我无法控制的 IIS 服务器上,我想从代码隐藏中了解它 URL 是否以 "http" 或 [=27= 开头].
首先,我在本地尝试了这两种解决方案,都返回了正确的值("http"):
this.Request.Url.Scheme
Request.IsSecureConnection
可以肯定的是,我还安装了到我自己计算机的 IIS 的安全 SSL 连接,并发布了相同的代码。这两个代码也在那里获取了正确的值 (https)。
然而,当我将它发布到我公司的 IIS 服务器时,它使用 "https",它 returns 改为 "http"。
这里会出现什么问题?我注意到我正在尝试的 URL 可能不被认为是安全层,即使它以 "https" 开头(当我从 Google 调用页面时它没有变绿并显示为安全 Chrome) 所以它可能不是安全层,它只是一个常规页面,仅以 "https" 而不是 http 开头。这种情况可能吗?
一种可能是您的 Web 应用程序前面有一个代理或负载平衡器。它可能是 'offloading' 到达您网站之前的 SSL。
此外,正如您所指出的,仅在浏览器中指定 https 并不能保证您的 SSL 证书正常工作并正确配置。尝试使用 https://www.ssllabs.com/ssltest/ 之类的工具来帮助确定问题。
我正在将我的网站发布到我无法控制的 IIS 服务器上,我想从代码隐藏中了解它 URL 是否以 "http" 或 [=27= 开头].
首先,我在本地尝试了这两种解决方案,都返回了正确的值("http"):
this.Request.Url.Scheme
Request.IsSecureConnection
可以肯定的是,我还安装了到我自己计算机的 IIS 的安全 SSL 连接,并发布了相同的代码。这两个代码也在那里获取了正确的值 (https)。
然而,当我将它发布到我公司的 IIS 服务器时,它使用 "https",它 returns 改为 "http"。
这里会出现什么问题?我注意到我正在尝试的 URL 可能不被认为是安全层,即使它以 "https" 开头(当我从 Google 调用页面时它没有变绿并显示为安全 Chrome) 所以它可能不是安全层,它只是一个常规页面,仅以 "https" 而不是 http 开头。这种情况可能吗?
一种可能是您的 Web 应用程序前面有一个代理或负载平衡器。它可能是 'offloading' 到达您网站之前的 SSL。
此外,正如您所指出的,仅在浏览器中指定 https 并不能保证您的 SSL 证书正常工作并正确配置。尝试使用 https://www.ssllabs.com/ssltest/ 之类的工具来帮助确定问题。