Ssl server certificate does NOT include an ID which matches

Bonsoir, 

J'avance dans la sécurisation de mon site installé sur un Raspberry et connecté à une Freebox. Quelques infos :

  • J'ai un nom de domaine (jean-dupont.fr)
  • une adresse ip fixe
  • le serveur (raspberry) a l'adresse suivante : 192.168.1 245
  • gestion des ports (Freebox):  créé pour le port 80. J'ai supprimé momentanément celui pour le port 443 car le site n'est pas bien sécurisé. 
  • j'ai créé un certificat avec Certbot et activé le https mais j'obtiens un message d'erreur.(error.log)
[Sat Feb 21 18:59:44.934656 2026] [ssl:warn] [pid 1525:tid 1525] AH01909: jean.dupont.fr:443:0 server certificate does NOT include an ID which matches the server name


Je pense que l'erreur se trouve dans le fichier /etc/apache2/sites-available/wordpress.conf car je m'y perds quelque peu malgré tout ce que j'ai pu lire.

/etc/apache2/sites-available/wordpress.conf

bernard@rasp56400:/etc/apache2/sites-available $ cat wordpress.conf
<VirtualHost *:80>
	# The ServerName directive sets the request scheme, hostname and port that
	# the server uses to identify itself. This is used when creating
	# redirection URLs. In the context of virtual hosts, the ServerName
	# specifies what hostname must appear in the request's Host: header to
	# match this virtual host. For the default virtual host (this file) this
	# value is not decisive as it is used as a last resort host regardless.
	# However, you must set it for any further virtual host explicitly.
	ServerName 192.168.1.245
	ServerAlias www.jean-dupont.fr
	# ServerAdmin webmaster@localhost
	DocumentRoot /var/www/html/wordpress

	# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
	# error, crit, alert, emerg.
	# It is also possible to configure the loglevel for particular
	# modules, e.g.
	#LogLevel info ssl:warn

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

	# For most configuration files from conf-available/, which are
	# enabled or disabled at a global level, it is possible to
	# include a line for only one particular virtual host. For example the
	# following line enables the CGI configuration for this host only
	# after it has been globally disabled with "a2disconf".
	#Include conf-available/serve-cgi-bin.conf
</VirtualHost>



<VirtualHost *:443>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        ServerName 192.168.1.245
	ServerAlias www.jean-dupont.fr
        # ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/wordpress

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

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

	SSLEngine on
        Include      /etc/letsencrypt/options-ssl-apache.conf
        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
        SSLCertificateFile   /etc/letsencrypt/live/www.jean-dupont.fr/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/www.jean-dupont.fr/privkey.pem
</VirtualHost>

Qui aurait une solution ?
Merci.

Linux / Firefox 140.0

27 réponses

Résumé de la discussion

Le certificat couvre jean-dupont.fr alors que le VirtualHost est configuré sur www.jean-dupont.fr, ce qui déclenche l'erreur AH01909 et empêche une connexion TLS fiable depuis l'extérieur. Des solutions consistent à obtenir un certificat couvrant les deux noms (jean-dupont.fr et www.jean-dupont.fr) ou un wildcard, via ACME DNS-01, puis à configurer le ServerName et les ServerAlias. Des tests locaux indiquent que HTTPS fonctionne sur le Raspberry, mais l’accès dépend de la redirection de port et de l’éventuel usage du port 443 par la box, ce qui peut bloquer l’accès. En parallèle, Wordpress peut afficher contenu mixte si les URLs ne sont pas alignées; il faut mettre à jour siteurl et home dans wp_options et ajuster les chemins statiques pour éviter le contenu mixte.

Bobot (l’IA à votre service)
  1. Bonjour,

    Le certificat couvre le nom "jean.dupont.fr" et ton virtualhost Apache est configuré pour "www.jean-dupont.fr".

    Un certificat émis pour "example.com" ne peut pas être utilisé pour "www.example.com". Si tu souhaites que le site soit accessible avec et sans www, il faut obtenir un certificat pour chaque nom.

    En utilisant le challenge ACME DNS-01 (plus complexe à mettre en œuvre mais plus polyvalent), il est possible d'obtenir un certificat combiné (example.com et www.example.com) ou wildcard (example.com et *.example.com).

    0
    1. Merci. Je vais regarder. 

      0
      1. Bonsoir, 

        Je ne comprends pas ce que tu veux dire quand tu écris :

        Le certificat couvre le nom "jean.dupont.fr" et ton virtualhost Apache est configuré pour "www.jean-dupont.fr".

        Le certificat déclaré dans le fichier VirtualHost mentionne 

        SSLCertificateFile   /etc/letsencrypt/live/www.jean-dupont.fr/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/www.jean-dupont.fr/privkey.pem

        Est-ce que tu pourrais m'expliquer ? J'ai pas mal tourné sur le Net mais je n'ai pas trouvé d'explication claire. Désolé !

        0
        1. Bonjour,

          Je n'avais pas vu la ligne ServerName, mais il semblerait qu'Apache compare les noms couverts par le certificat (via les attributs CN ou SAN) avec celui défini par la directive ServerName (mais pas ServerAlias).

          Je te propose de remplacer les directives ServerName et ServerAlias par celles-ci :

          ServerName www.jean-dupont.fr
          ServerAlias 192.168.1.245
          0
          1. Voici le site "avant" et maintenant. J'ai également le site en local, ce qui est une  sécurité

            Extrait de wordpress.conf, remodifié

               ServerName 192.168.1.245
             # ServerAdmin webmaster@localhost
               DocumentRoot /var/www/html/wordpress
            

            Vue avec cette configuration 

            Affichage "normal"

            J'ignore pourquoi l'affichage est modifié car il n'y a eu aucune intervention sur le site, excepté la modification de wordpress.conf. Je sais qu'il y a un lien qui est créé vers sites-enable... 

            0
            1. Quand j'utilise le fichier wordpress.conf dans une forme très basique (cf. extrait, uniquement port 80)

                #ServerAdmin webmaster@localhost
                     # ServerName 192.168.1.245
                      DocumentRoot /var/www/html/wordpress
                      # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
                      # error, crit, alert, emerg.
                      # It is also possible to configure the loglevel for particular
                      # modules, e.g.
                      #LogLevel info ssl:warn
              

              et que je me connecte au serveur (raspberry ou par l'adresse ip), j'ai accès au menu :

              • nextcloud
              • wordpress. 

              Je sélectionne wordpress et le site s'affiche normalement. 

              Par contre, je ne comprends pas pourquoi la ligne 

              DocumentRoot /var/www/html/wordpress 

              ne joue aucun rôle.

              Comme tu peux le constater, mes connaissances sont très lacunaires !

              0
              1. Bonjour, 

                Quelques infos qui permettront de donner des conseils plus précis :

                • Nom de domaine : www.jean-dupont.fr
                • Adresse ip fixe freebox
                • Redirection de port freebox 
                  •  redirection vers raspberry port 80
                  • (test avec autre redirection vers port 443 mais échec --> supprimé)
                • 4 Enregistrements DNS dont 2 (A et AAAA)
                • Certificat Certbot créé et renseigné dans le fichier wordpress.conf
                • SSLEngine on
                          Include      /etc/letsencrypt/options-ssl-apache.conf
                          # For most configuration files from conf-available/, which are
                          # enabled or disabled at a global level, it is possible to
                          # include a line for only one particular virtual host. For example the
                          # following line enables the CGI configuration for this host only
                          # after it has been globally disabled with "a2disconf".
                          #Include conf-available/serve-cgi-bin.conf
                          SSLCertificateFile   /etc/letsencrypt/live/www.jean-dupont.fr/fullchain.pem
                          SSLCertificateKeyFile /etc/letsencrypt/live/www.jean-dupont.fr/privkey.pem

                  Je reste avec un fichier wordpress.conf assez basique car j'ai perdu du temps et de l'énergie avec des tests peu concluants par manque de connaissances.

                Merci à vous. 

                0
                1. Bonjour,

                  L'erreur à l'origine de la question est donc résolue ?

                  Le problème d'affichage que tu rencontres est probablement causé par du "mixed content" : la page est chargée en HTTPS, mais elle tente de charge des ressources (CSS, JS, images, ...) via HTTP --> le navigateur bloque le chargement de ces ressources car elles pourraient être altérées lors de leur acheminement non chiffré.

                  Pour plus de détails : https://developer.mozilla.org/en-US/docs/Web/Security/Defenses/Mixed_content

                  Il est nécessaire de mettre à jour les paramètres WordPress "siteurl" et "home" pour refléter la nouvelle adresse en HTTPS dans les chemins générés dynamiquement.

                  Pour les chemins enregistrés statiquement (articles, menus, ...) il faut les mettre à jour à la main. Une recherche dans la base de données peut aider à trouver les occurrences qui auraient été oubliées.

                  Dans les solutions "pansements", il y a :

                  • l'entête "Upgrade-Insecure-Requests" pour indiquer au navigateur qu'il doit automatiquement charger les ressources par HTTPS même si le chemin est http://
                  • Activer une redirection HTTP -> HTTPS dans le virtualhost ou via le .htaccess : si le visiteur accède au site via http:// ou si le site contient un lien interne http:// la redirection le ramènera sur le chemin sécurisé
                  • Entête HTTP HSTS pour indiquer au navigateur qu'il doit automatiquement utiliser https:// même si le lien est http://

                  Ce sont des solutions "pansements" dans le sens où elles permettent de rattraper le tir si jamais du http:// apparaît quelque-part, mais ça ne corrige pas la racine du problème (l'utilisation de http:// à certains endroits).

                  0
                  1. Bonjour, 

                    J'ai voulu modifier l'adresse URL dans Wordpress (https://...) et je n'arrive plus à accéder au gestionnaire. Idem avec phpmyadmin qui ne reconnaît pas le mot de passe... 

                    J'essaie de régler ces problèmes et je reprends contact. 

                    Merci pour tes conseils.

                    0
                    1. Bonjour,
                      J'ai résolu le pb de connexion en réinstallant Wordpress ainsi que mon site sur le serveur (raspberry). Je peux y accéder sans difficulté avec www.jean-dupont.fr (en http).
                      J'ai créé une redirection de port (443) sur la Freebox et je me suis ensuite connecté avec mon smartphone (et partage de connexion pour le pc) mais je n'ai pas réussi à me connecter à www.jean-dupont.fr.
                      Comme je ne veux pas aller trop vite dans les modifications, voici le fichier /etc/apache2/sites-available/site2.conf (je supprimé les lignes commentées)

                      <VirtualHost *:80>
                      	ServerName www.jean-dupont
                      	ServerAdmin webmaster@localhost
                      	DocumentRoot /var/www/html/site2
                      
                      
                      	SSLEngine on
                              Include  /etc/letsencrypt/options-ssl-apache.conf
                      
                      	SSLCertificateFile   /etc/letsencrypt/live/www.jean-dupont/fullchain.pem
                              SSLCertificateKeyFile /etc/letsencrypt/live/www.jean-dupont/privkey.pem
                      
                      
                      	ErrorLog ${APACHE_LOG_DIR}/site2/error.log
                      	CustomLog ${APACHE_LOG_DIR}/site2/access.log combined
                      
                      # RewriteEngine on
                      # RewriteCond %{SERVER_NAME} =www.jean-dupont [OR]
                      # RewriteCond %{SERVER_NAME} =jean-dupont
                      # RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
                      </VirtualHost>
                      
                      <VirtualHost *:443>
                      
                      	ServerName www.jean-dupont
                      	<Directory /var/www/html/site2>
                                      AllowOverride all
                                      Require all granted
                              </Directory>
                              # ServerAdmin webmaster@localhost
                              DocumentRoot /var/www/html/site2
                      
                      
                              ErrorLog ${APACHE_LOG_DIR}/site2/error.log
                              CustomLog ${APACHE_LOG_DIR}/site2/access.log combined
                      
                      
                      	SSLEngine on
                              Include      /etc/letsencrypt/options-ssl-apache.conf
                      
                              SSLCertificateFile   /etc/letsencrypt/live/www.jean-dupont/fullchain.pem
                              SSLCertificateKeyFile /etc/letsencrypt/live/www.jean-dupont/privkey.pem
                      </VirtualHost>

                      Les lignes suivantes ont été écrites automatiquement : 

                      # RewriteEngine on
                      # RewriteCond %{SERVER_NAME} =www.jean-dupont [OR]
                      # RewriteCond %{SERVER_NAME} =jean-dupont
                      # RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

                      Modification de Wordpress :

                      Adresse web de WordPress (URL)     http://192.168.1.245/site2
                      Adresse web du site (URL)            http://www.jean-dupont

                      J'ignore pourquoi le site n'est pas visible sur le web. Il doit manquer pas mal de choses...

                      Merci 

                      0
                      1. Bonjour,

                        Sur les deux lignes "ServerName", le nom est incomplet.

                        Si tu remplaces ton vrai nom de domaine par "jean-dupont", merci de t'assurer d'être cohérent avec la configuration réelle. Si tu introduis d'autres différences/erreurs lors de cette substitution, ça sera compliqué de t'aider efficacement.

                        0
                        1. Bonjour, 

                          J'ai fait une erreur. Le ServerName est bien sous la forme

                          www.jean-dupont.fr

                          Sans être parano ( quoi que !), je n'indique pas le véritable nom de domaine.  

                          0
                          1. Voici le fichier complet.

                            <VirtualHost *:80>
                            	# The ServerName directive sets the request scheme, hostname and port that
                            	# the server uses to identify itself. This is used when creating
                            	# redirection URLs. In the context of virtual hosts, the ServerName
                            	# specifies what hostname must appear in the request's Host: header to
                            	# match this virtual host. For the default virtual host (this file) this
                            	# value is not decisive as it is used as a last resort host regardless.
                            	# However, you must set it for any further virtual host explicitly.
                            	ServerName www.jean-dupont.fr
                            	ServerAdmin webmaster@localhost
                            	DocumentRoot /var/www/html/site2
                            
                            
                            	SSLEngine on
                                    Include  /etc/letsencrypt/options-ssl-apache.conf
                            	# For most configuration files from conf-available/, which are
                            	# enabled or disabled at a global level, it is possible to
                            	# include a line for only one particular virtual host. For example the
                            	# following line enables the CGI configuration for this host only
                            	# after it has been globally disabled with "a2disconf".
                            	#Include conf-available/serve-cgi-bin.conf
                            	SSLCertificateFile   /etc/letsencrypt/live/www.jean-dupont.fr/fullchain.pem
                                    SSLCertificateKeyFile /etc/letsencrypt/live/www.jean-dupont.fr/privkey.pem
                            
                            	# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
                            	# error, crit, alert, emerg.
                            	# It is also possible to configure the loglevel for particular
                            	# modules, e.g.
                            	#LogLevel info ssl:warn
                            
                            	ErrorLog ${APACHE_LOG_DIR}/site2/error.log
                            	CustomLog ${APACHE_LOG_DIR}/site2/access.log combined
                            
                            	# For most configuration files from conf-available/, which are
                            	# enabled or disabled at a global level, it is possible to
                            	# include a line for only one particular virtual host. For example the
                            	# following line enables the CGI configuration for this host only
                            	# after it has been globally disabled with "a2disconf".
                            	#Include conf-available/serve-cgi-bin.conf
                            # RewriteEngine on
                            # RewriteCond %{SERVER_NAME} =www.jean-dupont.fr [OR]
                            # RewriteCond %{SERVER_NAME} =jean-dupont.fr
                            # RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
                            </VirtualHost>
                            
                            <VirtualHost *:443>
                                    # The ServerName directive sets the request scheme, hostname and port that
                                    # the server uses to identify itself. This is used when creating
                                    # redirection URLs. In the context of virtual hosts, the ServerName
                                    # specifies what hostname must appear in the request's Host: header to
                                    # match this virtual host. For the default virtual host (this file) this
                                    # value is not decisive as it is used as a last resort host regardless.
                                    # However, you must set it for any further virtual host explicitly.
                            	ServerName www.jean-dupont.fr
                            	<Directory /var/www/html/site2>
                                            AllowOverride all
                                            Require all granted
                                    </Directory>
                                    # ServerAdmin webmaster@localhost
                                    DocumentRoot /var/www/html/site2
                                    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
                                    # error, crit, alert, emerg.
                                    # It is also possible to configure the loglevel for particular
                                    # modules, e.g.
                                    #LogLevel info ssl:warn
                            
                                    ErrorLog ${APACHE_LOG_DIR}/site2/error.log
                                    CustomLog ${APACHE_LOG_DIR}/site2/access.log combined
                            
                                    # For most configuration files from conf-available/, which are
                            
                                    # enabled or disabled at a global level, it is possible to
                                    # include a line for only one particular virtual host. For example the
                                    # following line enables the CGI configuration for this host only
                                    # after it has been globally disabled with "a2disconf".
                                    #Include conf-available/serve-cgi-bin.conf
                            	SSLEngine on
                                    Include      /etc/letsencrypt/options-ssl-apache.conf
                                    # For most configuration files from conf-available/, which are
                                    # enabled or disabled at a global level, it is possible to
                                    # include a line for only one particular virtual host. For example the
                                    # following line enables the CGI configuration for this host only
                                    # after it has been globally disabled with "a2disconf".
                                    #Include conf-available/serve-cgi-bin.conf
                                    SSLCertificateFile   /etc/letsencrypt/live/www.jean-dupont.fr/fullchain.pem
                                    SSLCertificateKeyFile /etc/letsencrypt/live/www.jean-dupont.fr/privkey.pem
                            </VirtualHost>
                            0
                        2. Bonjour,

                          Quelques pistes de débogage :

                          1. Est-ce que Apache écoute bien le port 443 sur toutes les interfaces ? Voir outil "netstat" ou "ss"
                          2. Est-ce que le port 443 est ouvert au niveau du pare-feu de ton système ?
                          3. Est-ce que le site est accessible localement en HTTPS ? Voir avec curl, exemple ci-dessous.
                          4. Est-ce que ton certificat TLS couvre bien www.jean-dupont.fr ? Voir avec l'outil "openssl" (exemple ci-dessous)
                          iplocale="192.168.1.245"
                          port="443"
                          nomdomaine="www.jean-dupont.fr"
                          curl https://$nomdomaine:$port --connect-to $nomdomaine:$port:$iplocale
                          openssl x509 -in /etc/letsencrypt/live/www.jean-dupont.fr/fullchain.pem -noout -subject -ext subjectAltName
                          0
                          1. Du jour au lendemain, la connexion au site en http est devenue impossible... J'avoue ne pas comprendre car je n'avais pas fait de modification. 

                            J'ai fait des essais en utilisant un fichier léger mais j'obtiens toujours le même message 

                            Bad Request
                            
                            Your browser sent a request that this server could not understand.
                            Reason: You're speaking plain HTTP to an SSL-enabled server port.
                            Instead use the HTTPS scheme to access this URL, please.
                            <VirtualHost *:80>
                               # ServerName jean-dupont.fr
                                DocumentRoot /var/www/html/site2
                            
                                ErrorLog ${APACHE_LOG_DIR}/site2/error.log
                                CustomLog ${APACHE_LOG_DIR}/site2/access.log combined
                            
                                <Directory /var/www/html/site2>
                                    Options Indexes FollowSymLinks
                                    AllowOverride All
                                    Require all granted
                                </Directory>
                            
                            #    RewriteEngine On
                             #"   RewriteCond %{SERVER_PORT} 80
                              #  RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
                            </VirtualHost>

                            Quelques réponses malgré  ce "contretemps" 

                            jean@rasp56400:~ $ sudo openssl x509 -in /etc/letsencrypt/live/www.jean-dupont.fr/fullchain.pem -noout -subject -ext subjectAltName
                            subject=CN=www.jean-dupont.fr
                            X509v3 Subject Alternative Name:
                                DNS:www.jean-dupont.fr
                            jean@rasp56400:~ $ netstat
                            Connexions Internet actives (sans serveurs)
                            Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat
                            tcp        0      0 192.168.1.245:ssh       192.168.1.27:41026      ESTABLISHED
                            tcp        0      0 192.168.1.245:ssh       192.168.1.27:47780      ESTABLISHED
                            tcp6       0      0 192.168.1.245:http      192.168.1.27:34146      TIME_WAIT
                            udp        0      0 192.168.1.175:bootpc    192.168.1.254:bootps    ESTABLISHED
                            udp        0      0 192.168.1.245:bootpc    192.168.1.254:bootps    ESTABLISHED
                            jean@rasp56400:~ $ telnet 192.168.1.245 443
                            Trying 192.168.1.245...
                            Connected to 192.168.1.245.
                            Escape character is '^]'.
                            ^CConnection closed by foreign host.
                            0
                            1. Bonjour,

                              Pour "netstat", il faut lui demander d'afficher les sockets en écoute. Peux-tu vérifier avec « sudo netstat -tunlp » ?

                              Le résultat de la commande curl aurait été intéressant

                              0
                              1. Bonjour, 

                                Quelques réponses 

                                jean@rasp56400:~ $ curl https://www.jean-dupont.fr:443t --connect-to www.jean-dupont.fr:443:192.168.1.24
                                curl: (3) URL rejected: Port number was not a decimal number between 0 and 65535
                                jean@rasp56400:~ $ sudo openssl x509 -in /etc/letsencrypt/live/www.jean-dupont.fr/fullchain.pem -noout -subject -ext subjectAltName
                                subject=CN=www.jean-dupont.fr
                                X509v3 Subject Alternative Name:
                                    DNS:www.jean-dupont.fr
                                jean@rasp56400:~ $ sudo netstat -tunlp
                                Connexions Internet actives (seulement serveurs)
                                Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat        PID/Program name
                                tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      6291/cupsd
                                tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1505/mariadbd
                                tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/init
                                tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN      4553/dnsmasq
                                tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1449/sshd: /usr/sbi
                                tcp6       0      0 :::443                  :::*                    LISTEN      5447/apache2
                                tcp6       0      0 ::1:631                 :::*                    LISTEN      6291/cupsd
                                tcp6       0      0 :::111                  :::*                    LISTEN      1/init
                                tcp6       0      0 :::80                   :::*                    LISTEN      5447/apache2
                                tcp6       0      0 :::53                   :::*                    LISTEN      4553/dnsmasq
                                tcp6       0      0 :::22                   :::*                    LISTEN      1449/sshd: /usr/sbi
                                udp        0      0 0.0.0.0:53              0.0.0.0:*                           4553/dnsmasq
                                udp        0      0 0.0.0.0:34412           0.0.0.0:*                           818/avahi-daemon: r
                                udp        0      0 0.0.0.0:111             0.0.0.0:*                           1/init
                                udp        0      0 0.0.0.0:5353            0.0.0.0:*                           818/avahi-daemon: r
                                udp6       0      0 :::53                   :::*                                4553/dnsmasq
                                udp6       0      0 :::40514                :::*                                818/avahi-daemon: r
                                udp6       0      0 :::111                  :::*                                1/init
                                udp6       0      0 :::5353                 :::*                                818/avahi-daemon: r
                                

                                site2/logs/error.log

                                [Tue Mar 03 20:44:43.449980 2026] [ssl:warn] [pid 5447:tid 5447] AH01909: www.jean-dupont.fr/:443:0 server certificate does NOT include an ID which matches the server name
                                [Wed Mar 04 00:49:31.592114 2026] [ssl:warn] [pid 5447:tid 5447] AH01909: www.jean-dupont.fr/:443:0 server certificate does NOT include an ID which matches the server name
                                [Wed Mar 04 00:49:31.597751 2026] [ssl:warn] [pid 5447:tid 5447] AH01909: www.jean-dupont.fr/:443:0 server certificate does NOT include an ID which matches the server name

                                Pour l'instant, j'essaie de régler le  problème de connexion ! D'après ce que j'ai pu lire, SSL pourrait avoir joué un rôle.

                                Connexion à http://192.168.1.245/site2/

                                Bad Request
                                
                                Your browser sent a request that this server could not understand.
                                Reason: You're speaking plain HTTP to an SSL-enabled server port.
                                Instead use the HTTPS scheme to access this URL, please.
                                0
                                1. Il y avait une erreur dans la commande 

                                  jean@rasp56400:$ curl https://www.jean-dupont.fr:443 --connect-to www.jean-dupont.fr:443:192.168.1.245

                                  jean@rasp56400:$ curl https://www.jean-dupont.fr:443 --connect-to www.jean-dupont.fr:443:192.168.1.245
                                  <!DOCTYPE html>
                                  <!--
                                    - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
                                    - SPDX-FileCopyrightText: 2013 ownCloud, Inc.
                                    - SPDX-License-Identifier: AGPL-3.0-only
                                  -->
                                  <html>
                                  <head>
                                  	<script> window.location.href="index.php"; </script>
                                  	<meta http-equiv="refresh" content="0; URL=index.php">
                                  </head>
                                  </html>
                                  0
                                  1. Bonjour,

                                    Le résultat de la commande "curl" est encourageant, cela montre que l'accès au site en HTTPS est fonctionnel à partir du réseau local.

                                    En effet, cette commande simule une requête vers  https://www.jean-dupont.fr en contournant la résolution DNS, afin de faire comme si www.jean-dupont.fr pointait vers 192.168.1.245

                                    Si tu disposais d'un DNS local (e.g. AdGuard, Pihole, Unbound...) qui permettrait de diriger www.jean-dupont.fr vers 192.168.1.245, alors les personnes connectées à ton réseau local pourraient accéder à ton site avec un certificat valide.

                                    Cela montre d'une part que ton serveur Apache écoute bien le port 443 en mode TLS, et qu'en plus, le certificat est valide. Cela permet également d'exclure une restriction par le pare-feu du serveur.

                                    Au vu de ces résultats, il semblerait que ça soit la redirection de port qui bloque l'accès à partir de l'extérieur. Je t'invite à vérifier ce point. Il est possible que le port 443 soit déjà utilisé par la box elle-même et qu'une redirection pour ce port ne soit pas permise.

                                    0
                                    1. Bonsoir,

                                      Merci pour ta patience et tes informations toujours aussi claires ainsi que les pistes que tu ouvres.
                                      Je vais étudier les points que tu soulignes.

                                      Je poste à nouveau certaines infos / fichiers 

                                      • error.log
                                      [Wed Mar 04 07:42:46.328365 2026] [ssl:warn] [pid 7710:tid 7710] AH01909: www.jean-dupont.fr/:443:0 server certificate does NOT include an ID which matches the server name
                                      • etc/apache2/sites-available/site2.conf (contient peut-être des erreurs)
                                      <VirtualHost *:80>
                                          ServerName www.jean-dupont.fr/
                                          DocumentRoot /var/www/html/site2
                                      
                                          ErrorLog ${APACHE_LOG_DIR}/site2/error.log
                                          CustomLog ${APACHE_LOG_DIR}/site2/access.log combined
                                      
                                          <Directory /var/www/html/site2>
                                              Options Indexes FollowSymLinks
                                              AllowOverride All
                                              Require all granted
                                          </Directory>
                                      
                                      
                                      SSLEngine on
                                              Include  /etc/letsencrypt/options-ssl-apache.conf
                                              # For most configuration files from conf-available/, which are
                                              # enabled or disabled at a global level, it is possible to
                                              # include a line for only one particular virtual host. For example the
                                              # following line enables the CGI configuration for this host only
                                              # after it has been globally disabled with "a2disconf".
                                              #Include conf-available/serve-cgi-bin.conf
                                              SSLCertificateFile   /etc/letsencrypt/live/www.jean-dupont.fr/fullchain.pem
                                              SSLCertificateKeyFile /etc/letsencrypt/live/www.jean-dupont.fr/privkey.pem
                                      
                                          RewriteEngine On
                                          RewriteCond %{SERVER_PORT} 80
                                          RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
                                      </VirtualHost>
                                      
                                      <VirtualHost *:443>
                                          ServerName www.jean-dupont.fr/
                                          DocumentRoot /var/www/html/site2
                                      
                                          ErrorLog ${APACHE_LOG_DIR}/site2/error.log
                                          CustomLog ${APACHE_LOG_DIR}/site2/access.log combined
                                      
                                          <Directory /var/www/html/site2>
                                              Options Indexes FollowSymLinks
                                              AllowOverride All
                                              Require all granted
                                          </Directory>
                                      
                                      
                                      SSLEngine on
                                              Include  /etc/letsencrypt/options-ssl-apache.conf
                                              # For most configuration files from conf-available/, which are
                                              # enabled or disabled at a global level, it is possible to
                                              # include a line for only one particular virtual host. For example the
                                              # following line enables the CGI configuration for this host only
                                              # after it has been globally disabled with "a2disconf".
                                              #Include conf-available/serve-cgi-bin.conf
                                              SSLCertificateFile   /etc/letsencrypt/live/www.jean-dupont.fr/fullchain.pem
                                              SSLCertificateKeyFile /etc/letsencrypt/live/www.jean-dupont.fr/privkey.pem
                                      
                                         #  RewriteEngine On
                                         #  RewriteCond %{SERVER_PORT} 80
                                         #  RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
                                      </VirtualHost>

                                      Une autre question qui nécessite peut-être d'ouvrir un nouveau topic.

                                      • Connexion au serveur à l'aide de Firefox 
                                      Bad Request
                                      
                                      Your browser sent a request that this server could not understand.
                                      Reason: You're speaking plain HTTP to an SSL-enabled server port.
                                      Instead use the HTTPS scheme to access this URL, please.

                                      Linux / Firefox 140.0

                                      0
                                      1. Bonjour,

                                        Je vois un "SSLEngine on" à l'intérieur du bloc "<VirtualHost *:80>". Il n'y avait pas cela dans le message initial et ça explique parfaitement l'erreur "Bad Request"

                                        D'ailleurs, les ServerName que tu partages en dernier contiennent désormais une barre oblique, ce qui n'est pas valide

                                        0
                                    2. Bonsoir,

                                      J'ai modifié le fichier site2.conf comme suit

                                      • site2.conf
                                      <VirtualHost *:80>
                                      ServerName www.jean-dupont.fr
                                      DocumentRoot /var/www/html/site2
                                      
                                      ErrorLog ${APACHE_LOG_DIR}/site2/error.log
                                      CustomLog ${APACHE_LOG_DIR}/site2/access.log combined
                                      
                                      <Directory /var/www/html/site2>
                                      Options Indexes FollowSymLinks
                                      AllowOverride All
                                      Require all granted
                                      </Directory>
                                      
                                      RewriteEngine On
                                      RewriteCond %{SERVER_PORT} 80
                                      RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
                                      </VirtualHost>
                                      
                                      <VirtualHost *:443>
                                      ServerName www.jean-dupont.fr
                                      DocumentRoot /var/www/html/site2
                                      
                                      ErrorLog ${APACHE_LOG_DIR}/site2/error.log
                                      CustomLog ${APACHE_LOG_DIR}/site2/access.log combined
                                      
                                      <Directory /var/www/html/site2>
                                      Options Indexes FollowSymLinks
                                      AllowOverride All
                                      Require all granted
                                      </Directory>
                                      
                                      
                                      SSLEngine on
                                      Include /etc/letsencrypt/options-ssl-apache.conf
                                      SSLCertificateFile /etc/letsencrypt/live/www.jean-dupont.fr/fullchain.pem
                                      SSLCertificateKeyFile /etc/letsencrypt/live/www.jean-dupont.fr/privkey.pem
                                      RewriteEngine On
                                      RewriteCond %{SERVER_PORT} 80
                                      RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
                                      </VirtualHost>


                                      J'ai vérifié ufw

                                      jean@rasp56400:~ $ sudo ufw allow 443
                                      Skipping adding existing rule
                                      Skipping adding existing rule (v6)
                                      jean@rasp56400:~ $ sudo ufw status numbered
                                      Status: active
                                      
                                           To                         Action      From
                                           --                         ------      ----
                                      [ 1] 22/tcp                     ALLOW IN    Anywhere
                                      [ 2] 22                         ALLOW IN    Anywhere
                                      [ 3] 80/tcp                     ALLOW IN    Anywhere
                                      [ 4] 443                        ALLOW IN    Anywhere
                                      [ 5] 443/tcp                    ALLOW IN    Anywhere
                                      [ 6] 80                         ALLOW IN    Anywhere
                                      [ 7] 22/tcp (v6)                ALLOW IN    Anywhere (v6)
                                      [ 8] 22 (v6)                    ALLOW IN    Anywhere (v6)
                                      [ 9] 80/tcp (v6)                ALLOW IN    Anywhere (v6)
                                      [10] 443 (v6)                   ALLOW IN    Anywhere (v6)
                                      [11] 443/tcp (v6)               ALLOW IN    Anywhere (v6)
                                      [12] 80 (v6)                    ALLOW IN    Anywhere (v6)


                                      Je peux me connecter en https://(www.jean-dupont.fr,  que ce soit en local ou avec un smartphone  mais la présentation reste imparfaite. Je vais regarder le lien
                                      Pour plus de détails : https://developer.mozilla.org/en-US/docs/Web/Security/Defenses/Mixed_content

                                      Je ne peux toujours pas accéder au site en http://192.168.1.245/ et donc, aucune intervention sur le site.

                                      Bad Request
                                      
                                      Your browser sent a request that this server could not understand.
                                      Reason: You're speaking plain HTTP to an SSL-enabled server port.
                                      Instead use the HTTPS scheme to access this URL, please.

                                      error.log est vide car j'ai effacé le contenu ce matin. Depuis, j'ai corrigé ce que tu signalais.

                                      Je ne vois pas ce qui empêche la connexion !

                                      0
                                      1. 1. Pourquoi un "RewriteCond %{SERVER_PORT} 80" dans un bloc "<VirtualHost *:443>" ? Ça n'y était pas avant (c'était commenté) et cette redirection n'a aucun sens à cet endroit.

                                        2. Tes VirtualHost sont configurés uniquement pour l'accès via le nom de domaine, pas avec l'adresse IP. Pourquoi tu t'intéresses à l'accès avec http://192.168.1.245/ au lieu de http://www.jean-dupont.fr/ comme configuré sur ton Apache ? Et du coup, au vu de l'erreur, tu sembles avoir activé TLS sur le port *:80 dans un autre fichier.

                                        3. L'accès http://192.168.1.245/ est configuré en-dehors du fichier site2.conf, voir au niveau du vhost par défaut.

                                        C'est pas facile de t'aider si à chaque message, tu apportes des modifications sans les signaler et si tu n'offres qu'une vue partielle sur ta configuration. On va tourner en rond longtemps comme ça...

                                        0
                                    • 1
                                    • 2