我可以为应用程序的单个实例同时使用 HTTPS 和 HTTP 吗?

我可以为应用程序的单个实例同时使用 HTTPS 和 HTTP 吗?

我正在计划一个 Web 应用程序,它将在公司防火墙后面拥有自己的服务器。将有两组用户,组织内部和外部。内部用户将位于防火墙内部,与应用服务器相同,而外部用户则位于互联网外部。所有用户都将通过 Web 应用程序的登录进行身份验证。

我想要这样一种设置,外部用户需要使用 SSL 访问整个应用程序,而内部用户则需要通过标准 http 连接访问整个应用程序。

我想知道是否可以设置应用程序的单个实例,以便外部(通过互联网)用户可以通过 SSL 访问,并且内部用户可以通过 http 访问?

服务器操作系统为 Windows 2008R2,使用 IIS 7.5。应用程序将使用 .NET Framework 3.5。

谢谢

答案1

是的,当然可以。使用带有 VirtualHosts 的 Apache,您可以定义不同的 VHost,并且它们可以具有不同的身份验证规则。

如果您允许访问来自恶意互联网的某些内容,最好将其放置在 DMZ 中,以防有人闯入,这样他们就无法闯入您网络的其余部分。

我进一步想问的是这样做的理由是什么?如果每个人都在传递凭证,最好让他们一直使用 SSL。同样,如果 Web 服务器位于 DMZ 中,那么内部用户和 DMZ 之间的防火墙可以透明地将他们的请求 NAT 到 Web 服务器 - 如果您担心如何将内部用户路由到服务器的话。

答案2

我建议你最好将你的 Web 服务器设置为监听 HTTP 和 HTTPS 流量,然后只允许外部 HTTPS 流量进入你的服务器。要么在你的防火墙上进行限制,要么让你的 Web 服务器只在外部 IP 地址的 443 端口上列出。

为了向您提供更具体的详细信息,我们需要知道您正在使用什么网络服务器。

答案3

一般情况下是的。具体情况取决于您使用的软件。

相关内容