Elastic Beanstalk - PHP / Force HTTPS

时间:2013-02-24 11:27:45

标签: php amazon-web-services elastic-beanstalk

如何在使用Amazon Elastic Beanstalk和PHP从http到https时重定向所有流量?我已将我的Beanstalk设置为具有https端口(所有证书和内容已设置完毕)。

2 个答案:

答案 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