Pour que cela fonctionne, le reverse proxy doit définir dans le header X-Forwarded-Proto si la requête était en http ou https
La règle de réécriture apache pour forcer l’https :
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule / https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
Ou au contraire si l’on veut forcer en http :
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !http
RewriteRule / http://%{SERVER_NAME}%{REQUEST_URI} [L,R]
Article complémentaire : Offloading SSL avec Nginx