web-dev-qa-db-fra.com

Changer le port de 80 à 443 redirige le site en index (SSL)

Ma configuration:

  • Apache 2.4.7
  • Ubuntu 14.04 w/wordpress
  • Hôte: DigitalOcean

J'ai compris la cause de la redirection, mais je n'arrive pas à comprendre pourquoi ni comment y remédier.

Lorsque vous modifiez le port de 80 à 443 dans 000-default.conf, il dirige le site vers l'index. Lorsqu'il est réinitialisé à 80, le site se charge correctement, mais sans SSL.

Voici le code de mon 000-default.conf

<VirtualHost *:443>
ServerName prollagen.com
    SSLEngine on
    SSLCertificateFile /etc/ssl/.crt
    SSLCertificateKeyFile /etc/ssl/.key
    SSLCertificateChainFile /etc/ssl/.crt
    ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        <Directory /var/www/html/>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
        ErrorLog ${Apache_LOG_DIR}/error.log
        CustomLog ${Apache_LOG_DIR}/access.log combined
</VirtualHost>
3
blake405

Vous ne voulez pas mettre votre configuration dans 000-default.conf. Ce fichier est écrasé lors de la mise à niveau d'Apache. Au lieu de cela, vous devriez mettre votre configuration dans /etc/Apache2/sites-available/prollagen.conf. Remettez le fichier de configuration par défaut à son état actuel. Vous aurez besoin de deux directives d'hôte virtuel. Un pour HTTPS et un pour HTTP. Je suppose que vous voulez que HTTP redirige vers HTTPS.

<VirtualHost *:80>
    ServerName prollagen.com
    Redirect permanent / https://prollagen.com/
</VirtualHost>

<VirtualHost *:443>
    ServerName prollagen.com
    SSLEngine on
    SSLCertificateFile /etc/ssl/.crt
    SSLCertificateKeyFile /etc/ssl/.key
    SSLCertificateChainFile /etc/ssl/.crt
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    <Directory /var/www/html/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog ${Apache_LOG_DIR}/error.log
    CustomLog ${Apache_LOG_DIR}/access.log combined
</VirtualHost>

Une fois ce nouveau fichier en place, activez-le et redémarrez le serveur:

Sudo a2ensite prollagen && Sudo service Apache2 restart
1
Stephen Ostermiller