Forzar https, implementación compleja

0

Tengo un sitio web que se ejecuta en un servidor dedicado (una sola IP) en Apache. Se apuntan múltiples dominios al sitio web . Por ejemplo: sub.abc.com, sub.bcdaf.com

Ahora he comprado un solo certificado SSL para uno de los dominios (sub.abc.com). Solo SSL solo funciona cuando el usuario accede a enlace

Quiero forzar a los usuarios a https cuando acceden a http. Y de forma predeterminada, cuando acceden a sub.abc.com, debe ir a enlace . ¿Cómo puedo hacer esto a través de htaccess?

Tenga en cuenta que el https solo funciona para sub.abc.com y debería obligar a los usuarios a pasar solo para sub.abc.com

    
pregunta david 05.10.2013 - 07:07
fuente

2 respuestas

1

la redirección como @Terry mencionó está bien, pero no funcionará si los usuarios usan marcadores y desea que estén disponibles también en HTTPS:

  • no olvides usar HSTS-Headers

  • Solución utilizando solo .htaccess (no probado) (vea apache-wiki)

    you can skip the %{HTTP_HOST} - condition if you use a
    <virtualhost> - config for each virtual host 
    and no catchall/regex-servernames
    
    --- first solution 
    RewriteCond %{HTTP_HOST} sub\.abc\.com
    RewriteCond %{HTTPS} !=on
    RewriteRule ^/(.*)$ https://sub.abc.com/$1 [r=301,L]
    
    --- 2nd solution 
    RewriteCond %{HTTP_HOST} sub\.abc\.com
    RewriteCond %{SERVER_PORT} ^443
    RewriteRule ^/(.*)$ https://sub.abc.com/$1 [r=301,L]
    
  • Solución usando Rewrite-Rule y con enlaces profundos / server-config (preferido por los documentos oficiales) :

    <virtualhost :80>
        ServerName sub.abcd.com
        RewriteRule ^/(.*) https://sub.abcd.com/$1     [R=301,L]
    
    </virtualhost>
    
    <virtualhost :443>
         ServerName sub.abcd.com
         Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
    </virtualhost>
    
respondido por el that guy from over there 05.10.2013 - 12:36
fuente
0

Puedes lograr esto con la directiva Redirect . Esto funciona con las configuraciones tanto .htaccess como en VirtualHost en httpd.conf .

Redirect permanent / https://sub.abc.com
    
respondido por el Ayrx 05.10.2013 - 07:12
fuente

Lea otras preguntas en las etiquetas