2013-02-24 107 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