asp.net - 我可以通过 SSL 使用单独的 web.config 文件吗?

标签 asp.net wcf ssl web-config

首先我会说我是 SSL 的新手,以及它在 ASP.NET/WCF 中的工作原理。

我有一个当前不使用 SSL 访问的 Web 服务,我需要更改它以接受通过 http 和 https 的流量。我的 web.config 引用了使用 http 的第 3 方 URL。这些 URL 返回给客户端,然后通过 JavaScript 请求访问。如果使用 SSL 的网站使用 SSL 调用我的 Web 服务,我需要返回这些第三方 URL 的 https 版本,以便浏览器不会显示“混合安全”警告。

有没有人对如何最好地实现这一目标有任何建议?我的一个想法是创建一个并行站点来处理所有 SSL 流量,但我不确定这在 IIS6 中的可行性如何(这是我们现在正在使用的)。

最佳答案

您应该将其保存在一个 web.config 文件中。我假设您正在尝试避免“此页面包含安全和不安全的内容”警告?

您可以在没有协议(protocol)的情况下将您的 URL 存储在 web.config 文件中(例如 www.google.com 而不是 http://www.google.com )然后当您在代码中使用这些 URL 时,在您从网络中提取它们之后。配置,但在显示它们之前,使用 Request IsSecureConnection 属性

http://msdn.microsoft.com/en-us/library/system.web.httprequest.issecureconnection.aspx

例如:

((Request.IsSecureConnection)?"https://":"http://") + ConfigurationManager.AppSettings["theURL"]

或者您可以使用 javascript(Google Analytics 就是这样做的):

var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");  

然后他们只是使用 gaJsHost“前缀”来获取资源..

关于asp.net - 我可以通过 SSL 使用单独的 web.config 文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9085335/

相关文章:

c - 警报(级别 : Fatal, 描述:解码错误)- 转发代理

Angular 13 https

c# - 编译器错误消息 : CS0433

wcf - MSMQ 到 WCF,实现双向通信

ASP.NET 缓存类 - ASP.NET 3.5 和 ASP.NET 4.0 之间有区别吗?

c# - 使用MVVM(无任何代码)且无导航时,单击按钮时更改 View

.net - 在 WCF 应用程序中使用 MSMQ 消息时保留消息顺序

android - Facebook 安卓 : "Security Error: There are problems with the security certificate for this site"

c# - 应用程序设置与应用程序设置。应用程序设置已过时?

c# - 过程或函数需要未提供的参数