Forzar SSL en mi web

Para hacer esto normalmente se recurre a una redirección a https desde el archivo .htaccess de la web, aunque algunos CMS incorporan la posibilidad de forzar la redirección sin aplicar el cambio en ese archivo.

Forzar SSL en WordPress (sin Woocommerce ni pagos por Redsys)

En primer lugar hay que definir que la url de la web es con https. Para ello entra en la administración de la web y luego ve a Ajustes->Generales.

En los campos Dirección de WordPress (URL) y Dirección del sitio (URL) pon la url de la web con https. De esta forma se carga la web con https, pero este cambio no implica que el uso de https esté forzado.

Para forzar el uso de SSL en la administración de WordPress entra en el archivo wp-config.php, situado en la raíz de la web, y copia en él siguiente código (se puede colocar al final del archivo):

define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

Si quieres forzar el uso del SSL en toda la web tienes que añadir el siguiente código, que redirige las urls con http (no seguras) a las misma url con https (seguras), al inicio del archivo .htaccess de la web:

RewriteEngine On
RewriteCond %{ENV:HTTPS} !on [NC]
RewriteCond %{HTTP_HOST} ^tudominio\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.tudominio\.com$
RewriteRule ^(.*)$ https://www.tudominio.com/$1 [R,L] 
Advertencia

Cambia tudominio por el dominio de tu web y el com por la extensión de tu dominio si tu dominio no tiene la extensión .com

Forzar SSL en WordPress+WooCommerce

Dentro de la administración de WordPress se puede poner en Ajustes->Generales la urls con https en los campos Dirección de WordPress (URL) y Dirección del sitio (URL). Esto hará que las urls se generen con https, pero no forzarán su uso.

Dispones de 2 opciones para forzar el uso de SSL en tu web: forzar el SSL en las partes privadas de la tienda o en toda la web.

1.- Para forzar SSL sólo en las partes privadas de la tienda tienes que ir  en la administración de tu web a WooCommerce->Ajustes, pulsar en la pestaña Finalizar compra y activar el parámetro Forzar el pago seguro.

2.- Para forzar SSL en toda la web hay que hacer la redirección desde .htaccess.  Para ello hay que añadir lo siguiente al inicio del archivo .htaccess:

RewriteEngine On
RewriteCond %{ENV:HTTPS} !on [NC]
RewriteCond %{QUERY_STRING} !wc-api [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]

Forzar SSL en Joomla (sin Virtuemart ni pagos por Redsys)

En Joomla dispones de 2 opciones de forzar SSL: sólo en la administración o en todo el sitio.

Para hacer esto entra en la administración de Joomla y luego ve a Sistema->Configuración global y pulsa en la pestaña Servidor. En el parámetro Forzar SSL podrás elegir entre las opciones Ninguna (no se fuerza el uso del protocolo SSL),  Solo en la administración (sólo se fuerza en la administración de Joomla) y Todo el sitio (se fuerza el uso de https tanto en el frontal como en la administración de la web).
Elige la opción que prefieras, pero lo recomendable es escoger la opción de forzar ssl en todo el sitio.

Una forma alternativa de forzar la redirección a https sería añadiendo el siguiente código al inicio del archivo .htaccess de la raíz de la web:

RewriteEngine On
RewriteCond %{ENV:HTTPS} !on [NC]
RewriteCond %{HTTP_HOST} ^tudominio\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.tudominio\.com$
RewriteRule ^(.*)$ https://tudominio.com/$1 [R=301,L,NE]

Forzar SSL en Joomla+Virtuemart

Dispones de 2 opciones para forzar SSL en tu Joomla con Virtuemart: forzar el SSL en las partes privadas de la tienda o en toda la web.

Si se quieres forzar el SSL en las partes privadas de la tienda tienes que entrar en la administración de Joomla y luego ir a Componentes->Virtuemart->Configuración.

Aquí tienes que activar el parámetro Activar SSL para áreas sensibles.

Información relevante

Esto no afectará a las notificaciones con Redsys.

Si quieres forzar el uso de SSL en toda la web tendrás que entrar en Sistema->Configuración global. Verás en la pestaña Servidor el parámetro Forzar SSLNo es conveniente activar aquí la opción Todo el sitio, ya que esto forzará la redirección con un header location y puede dar problemas si usas Redsys para los pagos en tu web. En su lugar es mejor hacer la redirección con .htaccess. Para ello hay que añadir lo siguiente al inicio del archivo .htaccess:

RewriteEngine On
RewriteCond %{ENV:HTTPS} !on [NC]
RewriteCond %{QUERY_STRING} !task=pluginnotification [NC]
RewriteCond %{QUERY_STRING} !task=pluginresponsereceived [NC]
RewriteCond %{HTTP_HOST} ^tudominio\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.tudominio\.com$
RewriteRule ^(.*)$ https://tudominio.com/$1 [R=301,L,NE]

Forzar SSL en PrestaShop

Si quieres forzar el uso de SSL en PrestaShop ve a Preferencias->Configuración en la administración de la web. Primero tendrás que pulsar en el enlace Please click here to check if your shop supports HTTPS que se muestra en Habilitar SSL. Una vez realizada la comprobación veremos que podemos activar el parámetro Habilitar SSL.  Activa tanto este parámetro como el parámetro Enable SSL on all pages ya que forzará el uso de SSL.

Advertencia

Si utilizas Redsys para los pagos en tu web, será necesario tener una excepción para el redireccionamiento. Para conseguir esto subiremos el archivo FrontController.php que se puede descargar comprimido en un zip desde el enlace https://www.webempresa.com/descargas/FrontController.zip en la ruta override/classes/controler.

 

¿Te resultó útil?
genial
mal
aburre