如何对某些页面使用 SSL,而对其他页面不使用?

如何对某些页面使用 SSL,而对其他页面不使用?

我们正在构建一个应用程序,我们希望以下任何内容都是 SSL:

secure.ourapp.com -> 所有页面都必须是 SSL(可以使用 apache 中的 Vhost 来完成吗?)

www.ourapp.com/signup -> SSL www.ourapp.com/login -> SSL www.ourapp.com/information -> 非 SSL

所以我的问题是:你能把 SSL 放在某些页面上而不放在其他页面上吗?还是它只在每个子域名上起作用?

非常感谢你的帮助

答案1

是的,但有一些注意事项。

2 个 SSL 主机需要不同的公共 IP 地址才能实现最大兼容性。有基于名称的 SSL,但 Apache不支持那。

没有什么可以阻止你为主站点的所有页面支持 SSL,并简单地SSLRequireSSL在相关/login区域使用 SSL 来拒绝没有 SSL 的访问。然后,你可以简单地将人们https://从注册页面引导到登录页面,并在离开登录页面时返回http://

如果您想要更高级一点,可以使用重写选项来重定向使用“错误”协议连接的用户。我使用 Lighttpd 做了类似的事情。


是的。您需要 2 个证书,然后对要使用 SSL 保护的部分使用 SSLRequireSSL 选项。我建议使用改写比简单地拒绝访问 /signup 的 HTTP 连接更为友好。请参阅这一页有关如何执行此操作的示例。

相关内容