2013-02-24 179 views
4

如何在从http到https使用Amazon Elastic Beanstalk与PHP的同时重定向所有流量?我已经安装我的Beanstalk有一个https端口(所有的证书和东西已经设置)。Elastic Beanstalk - PHP/Force HTTPS

+1

你想要把所有的页面到HTTPS? – 2013-02-24 11:30:25

回答

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']); 
} 

虽然,有些人会通过不启用HTTP都发誓,在MITM攻击使用,由于SSL stripping技术。

话虽如此,您可以通过使用HSTS减轻SSL剥离。

+1

只需一次更改它应该是$ _SERVER ['HTTP_X_FORWARDED_PROTO']而不是$ _SERVER ['X_FORWARDED_PROTO'] – 2013-02-24 12:04:51

+0

@ user1012013对不起,你绝对正确:) – 2013-02-24 12:06:08