Debian Debian-France Debian-Facile Debian-fr.org Debian-fr.xyz Debian ? Communautés

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 15-11-2021 22:09:27

rasp
Membre
Inscription : 15-11-2021

Apache 2, CNAME et redirection

Bonjour à tous.tes,

Voilà.

Situation de départ :
J'ai installé un CMS sur un LAMPS (Debian 11) que j'auto-héberge.
Je passe par Gandi pour ma résolution DNS.
Ce CMS est résolu par un FQDN et un CNAME pour qu'il soit touché via deux requêtes : www.mondomaine.net et mmm.mondomaine.net.

Configuration
Pour le coup j'ai récupéré deux certificats Let's Encrypt via Certbot afin que les deux requêtes aient leurs propres certificats.
N'étant pas certain qu'Apache2 puisse gérer 2 certificats dans son .conf dans le dossier sites-available j'ai donc créé 2 vhosts : www.conf et mmm.conf


<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /home/www

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        RewriteEngine on
        RewriteCond %{HTTPS} !on
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>

Et

<IfModule mod_ssl.c>
    <VirtualHost *:443>
                ServerName www.mondomaine.net
                ServerAdmin webmaster@localhost
                DocumentRoot /home/www

                LogLevel warn
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined

                SSLEngine on
                SSLCertificateFile      /etc/letsencrypt/live/www.mondomaine.net/cert.pem
                SSLCertificateKeyFile   /etc/letsencrypt/live/www.mondomaine.net/privkey.pem
                SSLCertificateChainFile /etc/letsencrypt/live/www.mondomaine.net/chain.pem
                Include /etc/letsencrypt/options-ssl-apache.conf
                SSLProtocol all -SSLv2 -SSLv3
                SSLHonorCipherOrder on
                SSLCompression off
                SSLOptions +StrictRequire

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

                        <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                        </Directory>
               
                        <Directory /home/www>
                            Options Indexes FollowSymLinks
                            AllowOverride None
                            Require all granted
                            <IfModule mod_rewrite.c>
                                <Ifmodule mod_negociation.c>
                                    Options -MultiViews -Indexes
                                </IfModule>
                                RewriteEngine On
                                RewriteCond %{HTTP:Authorization} .
                                RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Au>
                                RewriteCond %{REQUEST_FILENAME} !-d
                                RewriteCond %{REQUEST_URI} (.+)/$
                                RewriteRule ^ %1 [L,R=301]
                                RewriteCond %{REQUEST_FILENAME} !-d
                                RewriteCond %{REQUEST_FILENAME} !-f
                                RewriteRule ^ index.php [L]
                            </IfModule>
                        </Directory>
        </VirtualHost>
</IfModule>
 




<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /home/www

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        RewriteEngine on
        RewriteCond %{HTTPS} !on
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>

<IfModule mod_ssl.c>
    <VirtualHost *:443>
                ServerName mmm.mondomaine.net
                ServerAdmin webmaster@localhost
                DocumentRoot /home/www

                LogLevel warn
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined

                SSLEngine on
                SSLCertificateFile      /etc/letsencrypt/live/mmm.mondomaine.net/cert.pem
                SSLCertificateKeyFile   /etc/letsencrypt/live/mmm.mondomaine.net/privkey.pem
                SSLCertificateChainFile /etc/letsencrypt/live/mmm.mondomaine.net/chain.pem
                Include /etc/letsencrypt/options-ssl-apache.conf
                SSLProtocol all -SSLv2 -SSLv3
                SSLHonorCipherOrder on
                SSLCompression off
                SSLOptions +StrictRequire

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

                        <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                        </Directory>
               
                        <Directory /home/www>
                            Options Indexes FollowSymLinks
                            AllowOverride None
                            Require all granted
                            <IfModule mod_rewrite.c>
                                <Ifmodule mod_negociation.c>
                                    Options -MultiViews -Indexes
                                </IfModule>
                                RewriteEngine On
                                RewriteCond %{HTTP:Authorization} .
                                RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Au>
                                RewriteCond %{REQUEST_FILENAME} !-d
                                RewriteCond %{REQUEST_URI} (.+)/$
                                RewriteRule ^ %1 [L,R=301]
                                RewriteCond %{REQUEST_FILENAME} !-d
                                RewriteCond %{REQUEST_FILENAME} !-f
                                RewriteRule ^ index.php [L]
                            </IfModule>
                        </Directory>
        </VirtualHost>
</IfModule>
 



Mon problème :

Conséquence de tout ça, j'ai bien accès en mode sécurisé à https://www.mondomaine.net ; par contre quand je pointe vers https://mmm.mondomaine.net, je suis redirigé directement sur https://www.mondomaine.net avec le certificat de www.mondomaine.net...

Or je souhaiterais que ce soit transparent, que je puisse naviguer sur le site à la fois via un https://www.mondomaine.net, avec son certificat, ET via https://mmm.mondomaine.net, avec son certificat... et tout ça en gardant le bon FQDN dans la barre de navigation...

Je pense que j'ai merdouillé (sic) dans mes règles de Mod_Rewrite, mais je n'arrive pas à toucher le problème...

Un coup de main serait le bienvenu...

Merci d'avance \o/

Hors ligne

Pied de page des forums