Saltar al contenido principal

¿Cómo redirigir de HTTP a HTTPS en un sitio web con un certificado SSL instalado?

Después de completar la implementación del certificado SSL, es necesario configurar una regla de redirección forzada 301 en el servidor para lograr el acceso cifrado HTTPS en todo el sitio. Métodos de operación específicos para cada servidor:

Aviso

Después de la configuración, borre la caché del navegador para probar. Se recomienda usar la herramienta de verificación SSL de Racent para validar el estado de la redirección.

Nginx​

Si necesita redirigir automáticamente las solicitudes HTTP a HTTPS, puede configurarlo con las siguientes operaciones:

  1. Utilice la función de redirección de Nginx, agregue return 301 https://$host$request_uri; en el server de HTTP, y así podrá redirigir las solicitudes de HTTP a HTTPS. Modifique el contenido de la siguiente manera:

    server {
    listen 80;
    #Redirigir las solicitudes de dominio HTTP a HTTPS
    return 301 https://$host$request_uri;
    }

  2. Reinicie el servidor Nginx y ya podrá acceder mediante el dominio, logrando que HTTP salte automáticamente a HTTPS.

Aviso

Para ver el proceso completo de instalación del certificado SSL, consulte el Tutorial de instalación del certificado sslTrus en servidor Nginx


Tomcat​

Si necesita redirigir automáticamente las solicitudes HTTP a HTTPS, puede configurarlo mediante las siguientes operaciones:

  1. Edite el archivo web.xml en el directorio /usr/tomcat9.0.13/conf y localice la etiqueta </welcome-file-list>.

  2. Agregue una nueva línea después de la etiqueta de cierre </welcome-file-list> y añada el siguiente contenido.

    <login-config>  
    <!-- Authorization setting for SSL -->
    <auth-method>CLIENT-CERT</auth-method>
    <realm-name>Client Cert Users-only Area</realm-name>
    </login-config>
    <security-constraint>
    <!-- Authorization setting for SSL -->
    <web-resource-collection >
    <web-resource-name >SSL</web-resource-name>
    <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
    </security-constraint>
  3. Edite el archivo server.xml en el directorio /usr/tomcat9.0.13/conf y modifique el parámetro redirectPort al puerto SSL connector, es decir, el puerto 443. Como se muestra a continuación:

    <Connector port="80" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="443" />
  4. Guarde el archivo de configuración y ejecute el siguiente comando en el directorio bin para confirmar que la configuración sea correcta.

    ./configtest.sh
  5. Si la configuración es correcta, reinicie el servidor Tomcat y podrá usar el dominio para acceder, logrando la redirección automática de HTTP a HTTPS.

    ./shutdown.sh  #Cerrar el servidor Tomcat
    ./startup.sh #Iniciar el servidor Tomcat
Consejo

Para ver el proceso completo de instalación de un certificado SSL, consulte Tutorial de instalación del certificado SSL de sslTrus en el servidor Tomcat


IIS​

  1. Abra el Administrador de IIS.

  2. Seleccione el nombre del sitio en Sitios y haga doble clic en "URL Rewrite". Como se muestra en la siguiente figura:

    Nota

    Antes de realizar este paso, descargue e instale primero el módulo URL Rewrite.

    IIS

  3. Ingrese a la página "URL Rewrite" y haga clic en Agregar reglas en la barra "Acciones" de la derecha. Como se muestra en la siguiente figura:

    IIS

  4. En la ventana emergente "Agregar regla", seleccione Regla en blanco y haga clic en Aceptar. Como se muestra en la siguiente imagen:

    IIS

  5. Ingrese a la página "Editar regla de entrada". Como se muestra en la siguiente imagen:

    IIS

    • Nombre: Complete con Http redirect to https.
    • URL coincidente: En "Patrón", ingrese manualmente (.*).
    • Condiciones:
      • Haga clic en Agregar y aparecerá la ventana "Agregar condición".
      • Entrada de condición: {HTTPS}.
      • Verificar si la cadena de entrada coincide: la opción predeterminada es coincidir con el patrón.
      • Patrón: ingrese manualmente ^OFF$.
    • Acción: Complete los siguientes parámetros.
      • Tipo de acción: seleccione Redirigir.
      • URL de redirección: https://{HTTP_HOST}/{R:1}.
      • Tipo de redirección: Redirección 301.
  6. Haga clic en Aplicar en la columna "Acciones" del lado derecho para guardar.

  7. Regrese a la página de inicio del sitio web y haga clic en Reiniciar en la columna "Administrar sitio web" del lado derecho. Ya podrá acceder mediante HTTPS.

Consejo

Para consultar el proceso completo de instalación de un certificado SSL, vea Tutorial de instalación del certificado sslTrus en el servidor IIS


Apache​

Si necesita redirigir automáticamente las solicitudes HTTP a HTTPS, puede configurarlo mediante las siguientes operaciones:

  1. Edite el archivo de configuración httpd.conf en el directorio /etc/httpd/conf. Compruebe si en el archivo de configuración existe LoadModule rewrite_module modules/mod_rewrite.so.
    Si existe, elimine el símbolo de comentario (#) de la primera línea; si no existe, añada la línea LoadModule rewrite_module modules/mod_rewrite.so y guarde el archivo de configuración.

  2. Abra el archivo http.conf y añada el siguiente contenido en el archivo de configuración:

    <VirtualHost *:80>
    # 新增
    RewriteEngine on
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
    </VirtualHost>
  3. Reinicie el servidor Apache para poder acceder mediante el nombre de dominio y lograr la redirección automática de HTTP a HTTPS.

Consejo

Para ver el proceso completo de instalación del certificado SSL, consulte Tutorial de instalación del certificado SSL de sslTrus en servidor Apache


Apache2​

Si necesita redirigir automáticamente las solicitudes HTTP a HTTPS, puede configurarlo mediante las siguientes operaciones:

  1. Introduzca a2enmod rewrite en la línea de comandos para habilitar el módulo de redirección.

  2. A continuación, abra el archivo de configuración http, por ejemplo: /etc/apache2/sites-available/000-default.conf, y añada el siguiente contenido en el archivo de configuración:

    <VirtualHost *:80>
    # 新增
    RewriteEngine on
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
    </VirtualHost>
  3. Reinicie el servidor Apache para poder acceder mediante el nombre de dominio y lograr la redirección automática de HTTP a HTTPS.

Consejo

Para ver el proceso completo de instalación del certificado SSL, consulte Tutorial de instalación del certificado SSL de sslTrus en servidor Apache2