【问题标题】:ASP.NET MVC2 Post to SSL and WCF ServiceASP.NET MVC2 发布到 SSL 和 WCF 服务
【发布时间】:2010-09-21 20:13:46
【问题描述】:

我有一个托管在非安全环境 (http) 中的 ASP.NET MVC2 应用程序,我的帐户服务 (WCF) 也位于 SSL 服务器上。 我需要将非安全 http 应用程序上的表单发布到安全 SSL,然后访问该服务。绝不允许我在 SSL 服务器中托管应用程序(因为它会失去负载平衡)。

解决这个问题的最佳方法是什么? 1.在mvc应用中做正常的post,调用SSL托管的WCF Service。 2. 在SSL服务器中创建一个mvc应用,然后让非安全应用对安全应用调用一个动作,然后安全mvc调用服务。 3. 还有其他方法吗?

我有点新,会帮助我很多。提前致谢。

【问题讨论】:

  • 只是观察,但数据要么敏感,要么不敏感 - 如果敏感,那么它应该是整个公共互联网上的 SSL - 无一例外。数据安全非常重要,如果是负载平衡问题,您需要考虑不同的架构或更多服务器。如果数据不敏感(我会问为什么 WCF 服务是 SSL),那么只需中继数据

标签: asp.net-mvc wcf architecture ssl https


【解决方案1】:

1.在mvc应用中做普通post,调用SSL托管 WCF 服务。

没有。我认为您实际上需要使用 SSL,因为您发送的数据非常敏感。所以做一个普通的 POST 不是一种选择。

2.在SSL服务器中创建一个mvc应用,然后把非安全的 应用程序调用一个动作 安全一个

可能。非常简单,但会添加一个新应用程序的负载来维护。但这是可以接受的成本。

另一种解决方案

  • 好吧,如果这是一个例外情况,并且当您有这些安全要求时没有其他情况,那么有一些库作为 jCryption 可以让您在没有 SSL 的情况下加密数据。在特殊情况下更简单有效。你可以使用某种 ModelBinder 来处理这个过程。引用他们:

    • “通常,如果您提交表单并且您 不要使用 SSL,您的数据将被发送 纯文本。但 SSL 既不是 每个虚拟主机都支持,也不是 有时易于安装/应用。所以我 创建这个插件是为了 您可以加密您的数据 快速简单。 jCryption 使用 用于加密的 RSA 公钥算法。”(来自JCryption main page
  • 如果经常需要 SSL,我会在 SSL 服务器中寻找某种 SSL 网关来接受 SSL 请求并将它们重定向内部 -注意,只是在内部。我的意思是在您的本地网络内。不要让这些数据在互联网中传播!指向普通的 HTTP 服务器并再次通过 SSL 将响应发送回客户端。无论如何,我认为它的可扩展性和可管理性不如以正常方式寻找一种使负载平衡适应新 SSL 要求的方法。

【讨论】:

    猜你喜欢
    • 2011-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    • 2011-02-06
    相关资源
    最近更新 更多