Wordpress por trás do proxy reverso nginx não funciona em https

3

Estou tentando executar o wordpress em uma nuvem baseada em docker. A configuração é:

Existeumservidorexecutandoumamatrizmysql,queserveumcontainercomWordpressRunningonNginx.Aconfiguraçãoécopiadade este dockerfile . O objetivo dessa configuração é alcançar uma alta taxa de transferência e ser compatível com nossa configuração na nuvem.

O contêiner wordpress tem um ip local, na mesma sub-rede que o array mysql e o proxy reverso Nginx, e uma porta pública para executar http (não https).

O proxy reverso está configurado para executar SSL para o contêiner wordpress. A navegação funciona em http e https, mas quando tento fazer login no painel com HTTPS, recebo este erro:

You do not have sufficient permissions to access this page.

O único erro significativo que encontrei acontece quando eu faço login no painel, no HTTP:

[04-Nov-2014 23:16:13 UTC] PHP Notice: Undefined index: HTTP_X_FORWARDED_PROTO in /usr/share/nginx/www/wp-config.php on line 86

mas o painel funciona corretamente em http.

No arquivo de configuração do Wordpress eu tive que adicionar a linha:

/* SSL Proxy */

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

E acho que este é o culpado. Encontrei esta dica na documentação oficial do wordpress , e sem ele HTTPS não carrega o CSS, seja logado ou não logado. Eu acho que talvez eu deva modificar essa linha para se adequar à minha configuração?

Ou isso, ou o arquivo de configuração do proxy reverso nginx, não faço ideia.

O arquivo de configuração nginx no contêiner wordpress + nginx é bastante padrão, e é copiado de aqui .

Por favor me ajude: D

    
por Mascarpone 05.11.2014 / 10:28

2 respostas

5

Eu tive algum problema, resolvi desta forma:

no meu wp-config.php,

Eu adicionei estas linhas:

if (strpos ($ _ SERVER ['HTTP_X_FORWARDED_PROTO'], 'https')! == falso)       $ _SERVER ['HTTPS'] = 'on';

ANTES de tudo no código.

Espero que ajude!

    
por 06.07.2016 / 13:24
-3

Basta colocar o código de redirecionamento no .htaccess. Tudo vai funcionar bem

    
por 06.08.2016 / 06:37