web-dev-qa-db-fra.com

Le site fonctionne bien sur HTTP, pas sur HTTPS

J'ai le suivant sur les sites activés:
000-default.conf
default-ssl.conf

000-default.conf a:

<VirtualHost *:80>
    ServerName www.optonet.inter.edu
    ServerAdmin [email protected]
    DocumentRoot /var/www/html/joomla

    <Directory /var/www/html/joomla>
        Options FollowSymLinks MultiViews 
        Options -Indexes
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

default-ssl.conf a:

<IfModule mod_ssl.c>
    <VirtualHost _default_:443>
        ServerName www.optonet.inter.edu
        ServerAdmin [email protected]
        DocumentRoot /var/www/html/joomla

        SSLEngine on
        <FilesMatch "\.(cgi|shtml|phtml|php)$">
            SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory /usr/lib/cgi-bin>
            Options -Indexes
            SSLOptions +StdEnvVars
        </Directory>
        Include /etc/letsencrypt/options-ssl-Apache.conf
        SSLCertificateFile    **********************
        SSLCertificateKeyFile **********************
    </VirtualHost>
    SSLStaplingCache shmcb:/tmp/stapling_cache(128000)
</IfModule>

Quand je vais à http://www.optonet.inter.ed et que n'importe quelle sous-page s'ouvre correctement. Si j'essaie https://www.optonet.inter.ed il s'ouvre, mais si j'essaie une sous-page, il affiche une erreur 404 non trouvée.

Les sites utilisent mod_rewrite et SSL à l'aide de letsencrypt.

.htaccess a un tas de redirections, mais rien qui fait référence à http/https

Qu'est ce que je fais mal?

1
ShotgunPR

Le problème que vous avez est dû au fait que vous n'avez pas activé AllowOverride All dans l'hôte virtuel SSL, ce qui permet d'utiliser .htaccess dont je soupçonne qu'il contient les règles et les conditions de réécriture d'URL.

Ajoutez ce code à votre hôte virtuel SSL:

# START NEW CODE
<Directory /var/www/html/joomla>
    Options FollowSymLinks MultiViews 
    Options -Indexes
    AllowOverride All
    Require all granted
</Directory>
# END NEW CODE

Votre code de fin devrait ressembler à ceci:

<IfModule mod_ssl.c>
    <VirtualHost _default_:443>
        ServerName www.optonet.inter.edu
        ServerAdmin [email protected]
        DocumentRoot /var/www/html/joomla

        SSLEngine on
        <FilesMatch "\.(cgi|shtml|phtml|php)$">
            SSLOptions +StdEnvVars
        </FilesMatch>

        # START NEW CODE
        <Directory /var/www/html/joomla>
            Options FollowSymLinks MultiViews 
            Options -Indexes
            AllowOverride All
            Require all granted
        </Directory>
        # END NEW CODE

        <Directory /usr/lib/cgi-bin>
            Options -Indexes
            SSLOptions +StdEnvVars
        </Directory>
        Include /etc/letsencrypt/options-ssl-Apache.conf
        SSLCertificateFile    **********************
        SSLCertificateKeyFile **********************
    </VirtualHost>
    SSLStaplingCache shmcb:/tmp/stapling_cache(128000)
</IfModule>
3
Simon Hayter