Detener WordPress para que use HTTP en lugar de HTTPS

27 mar 2016, 21:06:34
Vistas: 81.4K
Votos: 10

Hoy sincronicé una base de datos de un sitio web de desarrollo con una base de datos de un sitio web de producción.

Ahora, mi sitio web de desarrollo muestra un error "404 No Encontrado". La URL comienza con HTTPS, y hay una línea roja que atraviesa el texto HTTPS. La página 404 dice "El servidor no puede encontrar la página solicitada: dev.greenbee-web.com/ilaimh/wp-admin/ (puerto 443). Servidor Apache en dev.greenbee-web.com Puerto 443".

No me di cuenta de que el sitio web de producción usa HTTPS (soy un empleado y no soy el único que trabaja en este sitio web). Esto hizo que el sitio web de desarrollo ahora use HTTPS, pero quiero que use HTTP. No puedo encontrar dónde, en ninguno de los archivos de configuración de WordPress, puedo hacer que el sitio web de desarrollo vuelva a usar HTTP.

¿Hay alguna configuración en wp-config que esté forzando mi sitio de desarrollo a usar HTTPS? Si no está en wp-config, ¿dónde está la configuración que está forzando al sitio a usar HTTPS?

Gracias

3
Comentarios

tu entorno de desarrollo y staging siempre debe coincidir lo más posible con el entorno de producción. No usar el mismo protocolo es una desviación muy grande que ni siquiera está justificada de ninguna manera

Mark Kaplun Mark Kaplun
27 mar 2016 21:34:10

hola… Primero revisa en la configuración global (campos de URL) de WordPress. Después, en la mayoría de los casos, hay un archivo (y también algunos plugins) que pueden estar relacionados con tu problema: en el archivo .htaccess ubicado en el directorio principal de tu sitio WordPress, debes buscar algo como RewriteRule ^(.*)$ https://www.yoursite.com/$1 [R,L]… También algunos plugins de seguridad o plugins "SSL" pueden ser los responsables.

LoicTheAztec LoicTheAztec
28 mar 2016 01:54:44

@MarkKaplun - esta es una respuesta inaceptable a la pregunta. Por favor explica, en detalle, cómo puedo instalar un certificado válido para un servidor en una red local con una IP no enrutable, o instalar un certificado SSL válido en un servidor público para una dirección IP. Al pasar de desarrollo a producción tienes que cambiar todas las URLs de todas formas.

Craig Jacobs Craig Jacobs
27 ene 2019 21:23:41
Todas las respuestas a la pregunta 5
2
11

Hay 2 cosas que debes hacer.

Si estás usando un servidor Apache, ve al archivo .htaccess y cambia el motor Rewrite y RewriteBase a:

RewriteEngine On

RewriteCond %{SERVER_PORT} ^443$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Si estás usando Nginx, algo como esto debería funcionar:

server {
   listen 80 443;
   server_name example.com;
   # agregar configuraciones SSL
   return 301 https://example.com$request_uri;
}

Esto redirigirá el https a http.

Y ve a la base de datos a través de phpmyadmin o lo que uses, ve a wp_options y busca y cambia los valores de siteurl y home de https://example.com a http://example.com.

Limpia tu caché e intenta de nuevo. Debería funcionar sin problemas. Si el sitio sigue solicitando SSL, revisa tu archivo wp-config.php para ver si tiene este código:

define('FORCE_SSL_ADMIN', true);

luego cambia el 'true' por 'false'.

Espero que esto te ayude.

29 mar 2016 11:47:02
Comentarios

En mi caso, se resolvió con tu última sugerencia, comentando estas líneas: //define( 'FORCE_SSL_LOGIN', 1 ); //define( 'FORCE_SSL_ADMIN', 1 );

TARKUS TARKUS
17 jul 2018 01:37:15

para IIS, ¿qué puedo hacer para deshabilitar http? He intentado definiendo define('FORCE_SSL_ADMIN', true); pero no funcionó

Malcolm Salvador Malcolm Salvador
13 mar 2020 20:14:14
0

Hay un par de factores a considerar aquí.

En primer lugar, quizás quieras revisar la configuración del sitio en wp_options (o wp_X_options si estás en una configuración multisitio), especialmente los valores de:

  • home
  • siteurl

Las otras tablas que deberías revisar son:

  • wp_blogs
  • wp_domain_mapping
  • wp_options
  • wp_site
  • wp_sitemeta

No sé qué tipo de sistema usáis para sincronizar vuestra base de datos de desarrollo con la de producción, pero nosotros tenemos un script SQL que ejecutamos después de clonar un subconjunto de la base de datos de producción.

UPDATE wp_dev.wp_blogs SET domain = REPLACE(domain, "https://produrl.com", "http://devurl.com");  
UPDATE wp_dev.wp_domain_mapping SET domain = REPLACE(domain, "https://produrl.com", "http://devurl.com");  
UPDATE wp_dev.wp_options SET option_value = REPLACE(option_value, "https://produrl.com", "http://devurl.com");  
UPDATE wp_dev.wp_site SET domain = REPLACE(domain, "https://produrl.com", "http://devurl.com");  
UPDATE wp_dev.wp_sitemeta SET meta_value = REPLACE(meta_value, "https://produrl.com", "http://devurl.com");  

Reemplaza wp_dev con tu base de datos local, y produrl.com y devurl.com según sea necesario. Pero ten en cuenta que esto cambia las URLs internas de HTTPS a HTTP.

Finalmente, puede que necesites cambiar tu configuración local de WP, y actualizar estos dos ajustes:

define('FORCE_SSL_LOGIN', false);  
define('FORCE_SSL_ADMIN', false);  
16 oct 2018 01:44:59
0

Gracias Loic. Estoy usando BackupBuddy para copiar mis sitios web activos y restaurarlos en WAMP. Uno de los sitios seguía intentando usar HTTPS. He estado tratando de instalar un certificado en WAMP local sin éxito.

Revisé el directorio de mi sitio restaurado localmente y eliminé la carpeta simple ssl.

¡Boom! Ahora funciona y se mantiene en HTTP.

Vaya, eso fue demasiado fácil. Gracias de nuevo.

4 mar 2019 01:07:38
2

Si el balanceador de carga termina SSL (https), WordPress recibirá tráfico HTTP y redirigirá a HTTPS, aunque el tráfico hacia el balanceador sea HTTPS, lo que resulta en una redirección infinita.

Para solucionar esto, tengo esto en mi wp-config.php:

  $_SERVER['HTTPS'] = 'on';

O un poco más complicado (para instalaciones personalizadas):

  if (getenv('use_ssl')) {
    $_SERVER['HTTPS'] = 'on';
  }
24 jun 2022 01:10:54
Comentarios

Eso es cierto, y hay una nota sobre eso en la documentación de WordPress también: Administración sobre SSL. Allí prueban un encabezado común establecido por el balanceador de carga.

Rup Rup
24 jun 2022 03:04:04

(No estoy seguro de que eso sea exactamente sobre lo que pregunta esta pregunta).

Rup Rup
24 jun 2022 03:04:18
4
-3

Tu entorno de desarrollo y de staging siempre debe coincidir lo máximo posible con el entorno de producción. No utilizar el mismo protocolo es una desviación muy grande que ni siquiera está justificada de ninguna manera.

Ya que es tu organización, simplemente instala el mismo certificado en tu entorno de desarrollo, o si está vinculado a una IP específica por alguna razón, genera uno nuevo para tu entorno de desarrollo.

5 sept 2017 11:34:57
Comentarios

Voto negativo porque esto no responde a la pregunta.

naomi naomi
26 feb 2020 16:13:04

@naomi Estoy realmente sorprendido que en esta época donde todo es HTTPS todavía haya sugerencias de que tiene sentido intentar soportar HTTP. La única respuesta verdadera es corregir el entorno de desarrollo

Mark Kaplun Mark Kaplun
2 mar 2020 16:07:53

La pregunta era cómo evitar que WP fuerce SSL. Llegué a esto porque tuve este problema con sitios locales en mi portátil.

naomi naomi
2 mar 2020 17:31:46

Sí, el desarrollo local sufre con el uso de HTTPS, pero si no usas HTTPS ¿cómo sabes que tus recursos se cargan correctamente? Si, como el OP, tienes la confianza del dueño del sitio, puedes pedirle su certificado y configurar adecuadamente el dominio y el certificado en tu portátil

Mark Kaplun Mark Kaplun
3 mar 2020 18:52:23