WordPress wp-admin https redirect loop

47

Estoy usando nginx como mi servidor web y he editado el archivo de configuración para que apunte a https, así que cambio la configuración de la URL de WordPress a https y también agregué el código de administrador de WordPress force ssl a mi archivo wp-config pero sigo corriendo en el error " Esta página web tiene un bucle de redireccionamiento "

    
pregunta iamkingsleyf 03.12.2014 - 06:57

4 respuestas

77

¿Has agregado $_SERVER['HTTPS'] = 'on'; a tu wp-config.php ?

También debe usar el complemento WP Migrate DB para migrar de http://yoursite.com a https://yoursite.com

    
respondido por el thaevok 25.02.2015 - 20:01
40

Tuve un problema similar y acabo de agregar el siguiente fragmento a mi wp-config.php :

/** SSL */  
define('FORCE_SSL_ADMIN', true);  
// in some setups HTTP_X_FORWARDED_PROTO might contain  
// a comma-separated list e.g. http,https  
// so check for https existence  
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)  
    $_SERVER['HTTPS']='on';

como se sugiere en el Codex . Esto solo será necesario en caso de que haya habilitado el paso a través de SSL en la configuración de su equilibrador de carga (o firewall). Lo que significa que mientras puede acceder al sitio a través de HTTP dentro de TLS / SSL, la comunicación que recibe su servidor es solo HTTP. Para tenerlo en cuenta, se necesita el encabezado anterior para que WordPress pueda "establecer" HTTPS en on en la matriz de configuración $_SERVER .

    
respondido por el Elias 16.03.2016 - 21:27
7

Como todavía no tengo el privilegio de comentarios, publicaré esta adición como otra respuesta:

La solución propuesta por Elias, para agregar lo siguiente a wp-config.php , hizo el truco por mí:

/** SSL */  
define('FORCE_SSL_ADMIN', true);  
// in some setups HTTP_X_FORWARDED_PROTO might contain  
// a comma-separated list e.g. http,https  
// so check for https existence  
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)  
    $_SERVER['HTTPS']='on';

Sin embargo, solo me funcionó cuando lo puse antes que todo lo demás en este archivo.

    
respondido por el Michael Jung 14.09.2017 - 10:52
4

Otra versión para los libros, solo agrega esto a la parte superior de wp-config.php

La razón es que podría haber balanceadores de carga o algo que no pase a lo largo del valor https adecuado, por lo que debes agarrarlo de otro lado y simularlo para wordpress.

if ( (isset($_SERVER['HTTP_X_FORWARDED_PORT'] ) && ( '443' == $_SERVER['HTTP_X_FORWARDED_PORT'] ))
    || (isset($_SERVER['HTTP_CF_VISITOR']) && $_SERVER['HTTP_CF_VISITOR'] == '{"scheme":"https"}')) {
    $_SERVER['HTTPS'] = 'on';
}
    
respondido por el Timo Huovinen 21.02.2017 - 13:33

Lea otras preguntas en las etiquetas