We have an Apache server using mod_proxy to serve WordPress from another server. SSL is terminated on the Apache side.
Apache(80) -> WordPress(80)
Apache(443) -> WordPress(80)
.htaccess
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{SERVER_NAME}/$1 [R,L]
wp-config.php
At the top of the file:
define('FORCE_SSL_ADMIN', true);
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
$_SERVER['HTTPS']='on';