Descarregamento SSL para o Apache2 para o site Wordpress

1

Eu tenho um site WordPress em execução em uma instância do Google Compute Engine e o SSL costumava ser configurado dentro do Apache.

Como o redimensionamento de SSL e de imagem estava causando muita pressão nessa instância, configurei um balanceador de carga do Google Compute Engine, configurei o SSL no balanceador de carga e habilitei o CDN.

No lado do Apache, desativei o *:443 config e deixei apenas o *:80 config.O Balanceador de Carga agora aceita solicitação na porta 443 e aponta para a instância na porta 80.

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName  mysite.com
        ServerAlias www.mysite.com

        # Indexes + Directory Root.
        DirectoryIndex index.php index.html
        DocumentRoot /var/www/mysite/htdocs/

        # Logfiles
        ErrorLog  /var/www/mysite/logs/error.log
        CustomLog /var/www/mysite/logs/access.log combined
</VirtualHost>

Isso funciona, exceto que estou recebendo erros de conteúdo misto no site agora, pois todos os recursos ainda estão sendo carregados via HTTP.

Eu agora tentei ativar as reescritas de URLs para ver se posso recuperar todo o conteúdo via https:

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName  mysite.com
        ServerAlias www.mysite.com

        # Indexes + Directory Root.
        DirectoryIndex index.php index.html
        DocumentRoot /var/www/mysite/htdocs/

        # Logfiles
        ErrorLog  /var/www/mysite/logs/error.log
        CustomLog /var/www/mysite/logs/access.log combined

        RewriteEngine on
        RewriteCond %{HTTPS} off
        RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,QSA,R=permanent]
</VirtualHost>

Assim que eu habilito o RewriteEngine e reescrevo os URLs como acima, recebo um número infinito de redirecionamentos.

Estou um pouco enferrujado no lado do Apache, já que tenho usado quase exclusivamente o NGINX nos últimos 5 anos, alguma idéia de como fazer o WordPress funcionar corretamente nesta configuração?

    
por Jan Vladimir Mostert 22.08.2016 / 16:04

1 resposta

2

Acontece que não há nada errado com a minha configuração, adicionando a seguinte linha no WordPress ' wp-config.php corrige isso

// force SSL
$_SERVER['HTTPS']='on';

Ou se você deseja executar http e https:

if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'){
       $_SERVER['HTTPS']='on';
}

Obviamente, removendo os redirecionamentos https:

#        RewriteEngine on
#        RewriteCond %{HTTPS} off
#        RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,QSA,R=permanent]
    
por 22.08.2016 / 16:59