Provavelmente, seu aplicativo estará sob um balanceador de carga quando em produção. Se você precisar testar se o url é HTTPS com PHP, você provavelmente usará env (‘HTTPS’), mas sob um balanceador de carga que não funcionará.
Você precisará verificar a variável de servidor HTTP X FORWARDED_PROTO.
É claro que testar isso em seu ambiente local pode ser doloroso, mas aqui está uma pequena dica que faz maravilhas. Altere seu http-ssl.conf e em seu host virtual adicione:
RequestHeader definiu X-Forwarded-Proto “https”
Isso adicionará automaticamente o HTTP X FORWARDED_PROTO no cabeçalho de resposta do Apache ao seu aplicativo.
A mesma lógica pode ser usada para outras respostas de cabeçalho do Apache.