Igniweb

Detectando peticiones HTTPS con PHP en AWS

Favicon igniweb
Banner DDos Attack

Detectando peticiones HTTPS con PHP en AWS

Si alguien se encuentra en un caso como este al estar usando el balanceador de carga y los servicios web de Amazon, la solución es simple.

Dado que $_SERVER no existe, debería utilizarse:

[HTTP_X_FORWARDED_PORT] => 443
[HTTP_X_FORWARDED_PROTO] => https

Haciendo uso de la siguiente función:

function getProtocol() {
    if(!empty($_SERVER['HTTP_X_FORWARDED_PROTO']))
        return $_SERVER['HTTP_X_FORWARDED_PROTO'];
    else 
        return !empty($_SERVER['HTTPS']) ? "https" : "https";
}