Skip to main content

Cloudflare es un sistema gratuito que actúa como un proxy (intermediario) entre los visitantes del sitio y el servidor.

Configuración SSL en Cloudflare

SSL de Cloudflare encriptan el tráfico HTTPS entre Cloudflare y el servidor web de origen y ofrece los siguientes servicios:

OFF

Desactivar  desactiva las conexiones HTTPS seguras entre los visitantes y Cloudflare y entre Cloudflare y su servidor web de origen. Los visitantes solo pueden ver su sitio web a través de HTTP. Cualquier conexión intentada a través de HTTPS da como resultado una redirección HTTP 301 a HTTP sin cifrar.

Flexible

La opción SSL flexible permite una conexión HTTPS segura entre su visitante y Cloudflare, pero obliga a Cloudflare a conectarse a su servidor web de origen a través de HTTP sin cifrar. No se requiere un certificado SSL en su servidor web de origen y sus visitantes seguirán viendo el sitio como HTTPS habilitado.

Full

Full  garantiza una conexión segura entre el visitante y su dominio de Cloudflare y entre Cloudflare y su servidor web.

Full (strict)

Completo (estricto) garantiza una conexión segura entre el visitante y su dominio de Cloudflare y entre Cloudflare y su servidor web de origen. Configure su servidor web de origen para permitir conexiones HTTPS en el puerto 443 y presente un certificado de CA de origen de Cloudflare o un certificado válido adquirido de una autoridad de certificación. Este certificado debe estar firmado por una autoridad de certificación en la que Cloudflare confíe, que tenga una fecha de vencimiento futura y cubra el nombre de dominio solicitado (nombre de host).

 

CLoudflare y WordPress

Lo primero que hacemos es instalar nuestro WordPress de forma convencional

Llegados a este punto tenemos que saber que Cloudflare añade a nuestra web una cabecera que es HTTP_CF_VISITOR la cuál tendremos que comprobar para que WordPress no haga un loop de redireciones.

Para ello existe un plugin de 3 líneas de código llamado Cloudflare Flexible SSL (las cuales no recomiendo añadir al functions.php) que hará la activación de $_SERVER[‘HTTPS’] cuando detecte que la cabecera HTTP_CF_VISITOR contenga el conjunto de caracteres https.

if ( isset( $_SERVER[‘HTTP_CF_VISITOR’] )
&& strpos( $_SERVER[‘HTTP_CF_VISITOR’], ‘https’ ) !== false ) {
$_SERVER[‘HTTPS’] = ‘on’;
}

 

Espero que os sirva de utilidad para hacer vuestros sitios web más seguros.

Leave a Reply