如何在使用Amazon Elastic Beanstalk和PHP从http到https时重定向所有流量?我已将我的Beanstalk设置为具有https端口(所有证书和内容已设置完毕)。
答案 0 :(得分:6)
Beanstalk设置其负载均衡器,以便向您的实例发送X-Forwarded-Proto
标头。
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] !== 'https') {
// redirect to secure site
header('Location: https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
}
但是,由于MiTM攻击中使用了SSL stripping技术,有些人会因为根本不启用HTTP而发誓。
话虽如此,您可以使用HSTS来缓解SSL剥离。
答案 1 :(得分:1)
如果您有单实例弹性beanstalk环境,请尝试以下解决方案:AWS Elasticbeanstalk single instance Force SSL Redirect loop