2

我知道你可以这样做:

#if !DEBUG
    [RequireHttps] //apply to this action only
#endif

如果您使用 Web Farm Framework,其中“控制器”服务器接收外部 SSL 443 请求,对其进行解密,然后使用 http 80(不使用 ssl)将其转发到主/辅助服务器怎么办?

在这种环境中,我尝试了 [RequireHttps] 属性,但它在 Firefox 中响应为“页面未正确重定向”。Firefox 检测到服务器正在以永远不会完成的方式重定向对该地址的请求。它认识到它不是 SSL,但因为它剥离了 SSL,MVC 将永远看不到 SSL 属性。

您将如何重写某些操作方法以在 Web 场的 MVC 3 中使用 https?你怎么能做到这一点,[RequireHttps]或者你必须在你的网站中挑选每个需要 ssl 和“URL 重写”的 URL?

编辑:

我更改了控制器以识别端口 443 流量并将其转发到网络场上的 https。我以为我可以只在控制器上加载 SSL 证书,但它们也需要在主节点和辅助节点上加载(或仅加载。)

4

1 回答 1

2

在您的操作方法中,您可以检查安全连接:

if(Request.IsSecureConnection())
{
   // Secure connection logic here
}
于 2011-10-05T09:00:08.980 回答