O Apache não redireciona HTTP para HTTPS

1

Quando eu insiro o URL não SSL do meu website "cms00.example.com" no meu navegador, ele não redireciona para o link . Se eu digitar o endereço HTTP, posso ver o site e, se eu digitar o endereço HTTPS, posso ver o site. Eu simplesmente não consigo obter o redirecionamento de http para https para trabalhar. Eu li vários artigos sobre como fazer isso e tentei todas as sugestões, mas minha configuração ainda não está funcionando. Estou executando o Apache 2.4.10 no Debian 8, e esta é a primeira vez que trabalho com o Apache.

Eu executei estes dois comandos e verifiquei se os módulos reescrita e ssl foram carregados:

sudo a2emod rewrite   # <- already enabled
sudo a2emod ssl       # <- already enabled

Eu não fiz nenhuma modificação no /etc/apache2/apache2.conf e não criei nenhum arquivo adicional .htaccess.

Aqui está o meu arquivo de configuração:

# /etc/apache2/sites-available/vhosts.conf
DirectoryIndex index.php index.html

<VirtualHost *:80>
  ServerName cms00.example.com
  DocumentRoot "/var/www/html"
  Redirect permanent / https://cms00.example.com
</VirtualHost>

<VirtualHost *:443>
  ServerName cms00.example.com
  DocumentRoot "/var/www/html"

  SSLEngine on
  SSLCipherSuite AES256+EECDH:AES256+EDH
  SSLProtocol All -SSLv2 -SSLv3
  SSLHonorCipherOrder On
  SSLCompression off
  SSLCertificateFile /etc/apache2/ssl/example.com.crt
  SSLCertificateKeyFile /etc/apache2/ssl/private/example.com.key

  <Directory "/var/www/html">
    AllowOverride All
    Options -Indexes +FollowSymLinks
    Require all granted
  </Directory>
  RewriteCond %{HTTP_HOST} !^www\. [NC]
  RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
    
por Jim 11.12.2017 / 23:22

1 resposta

1

Eu resolvi o problema. Aqui está o que está acontecendo. O /etc/apache2/apache2.conf inclui uma chamada para qualquer arquivo de configuração que possua links simbólicos em / etc / apache2 / sites-enabled. Como havia um link simbólico naquele diretório apontando para /etc/apache2/sites-available/000-default.conf, esse último arquivo de configuração estava sendo carregado e estava superando os blocos e diretivas no meu arquivo vhosts.conf. Depois que eu deletei esse link, minhas configurações do vhosts.conf foram efetivadas. A lição para mim foi que qualquer arquivo que tenha um link simbólico em sites habilitados estará habilitado.

    
por 12.12.2017 / 06:06