Elastic Beanstalk - PHP / 强制 HTTPS
Posted
技术标签:
【中文标题】Elastic Beanstalk - PHP / 强制 HTTPS【英文标题】:Elastic Beanstalk - PHP / Force HTTPS 【发布时间】:2013-02-09 16:05:26 【问题描述】:在将 Amazon Elastic Beanstalk 与 php 结合使用时,如何将所有流量从 http 重定向到 https?我已经设置我的 Beanstalk 有一个 https 端口(所有的证书和东西都已经设置好了)。
【问题讨论】:
您想将所有页面推送到 HTTPS 吗? 【参考方案1】:Beanstalk 设置其负载平衡器以将 X-Forwarded-Proto
标头发送到您的实例。
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] !== 'https')
// redirect to secure site
header('Location: https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
不过,由于中间人攻击中使用了SSL stripping 技术,有些人会发誓根本不启用 HTTP。
话虽如此,您可以使用HSTS 缓解 SSL 剥离。
【讨论】:
只有一个变化,它应该是 $_SERVER['HTTP_X_FORWARDED_PROTO'] 而不是 $_SERVER['X_FORWARDED_PROTO']【参考方案2】:如果您有单实例弹性 beanstalk 环境,请尝试以下解决方案:AWS Elasticbeanstalk single instance Force SSL Redirect loop
【讨论】:
以上是关于Elastic Beanstalk - PHP / 强制 HTTPS的主要内容,如果未能解决你的问题,请参考以下文章
启用 ZipArchive 的 Elastic Beanstalk 编译 php
AWS Elastic Beanstalk PHP 日志不在 CloudWatch 中
将多个平台部署到 Elastic Beanstalk (PHP/Python)