我正在使用 Apache 作为我正在构建的 RESTful 服务的前端。对服务的所有访问都应通过 HTTPS 进行,因此我希望 Apache 使用 403 消息响应任何 HTTP 访问,说明需要安全访问。
我将如何配置 Apache 来做到这一点?
<VirtualHost *:80>
ServerName api.digiumcloud.net
# Stuff to force 403 responses here
</VirtualHost>
我正在使用 Apache 作为我正在构建的 RESTful 服务的前端。对服务的所有访问都应通过 HTTPS 进行,因此我希望 Apache 使用 403 消息响应任何 HTTP 访问,说明需要安全访问。
我将如何配置 Apache 来做到这一点?
<VirtualHost *:80>
ServerName api.digiumcloud.net
# Stuff to force 403 responses here
</VirtualHost>
我认为您最好将用户重定向到 HTTPS。但是要做你想做的,我认为以下应该有效:
当然,您必须使用您想要的内容制作一个 403-message.html 文件。
但是要重定向到 HTTPS:
添加 SSLRequireSSL
它不是 HTTPS,因此它总是会导致 Forbidden 403 错误
使用类似的东西将 HTTP 重定向到 HTTPS...
是更好的解决方案,并且不对服务器或 URI 进行硬编码,将 URI 作为重定向的一部分进行预处理。
但是,您必须在服务器配置中执行此操作,而不是在“.htaccess”中。
如果您在带有身份验证的“.htaccess”中使用它,则身份验证发生在重定向之前(密码通过 HTTP 以明文形式发送)。
服务器配置没有这个问题,因为 HTTP 和 HTTPS 指令可以放在单独的 VHost 中。