Ssl server certificate does NOT include an ID which matches

Résolu
Lume56 Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   -  
Lume56 Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   -

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

A voir également:

27 réponses

  • 1
  • 2
avion-f16 Messages postés 19268 Date d'inscription   Statut Contributeur Dernière intervention   4 510
 

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
Lume56 Messages postés 38 Date d'inscription   Statut Membre Dernière intervention  
 

Merci. Je vais regarder. 

0
Lume56 Messages postés 38 Date d'inscription   Statut Membre Dernière intervention  
 

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
avion-f16 Messages postés 19268 Date d'inscription   Statut Contributeur Dernière intervention   4 510
 

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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Lume56
 

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
Lume56
 

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
Lume56 Messages postés 38 Date d'inscription   Statut Membre Dernière intervention  
 

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
avion-f16 Messages postés 19268 Date d'inscription   Statut Contributeur Dernière intervention   4 510
 

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
Lume56 Messages postés 38 Date d'inscription   Statut Membre Dernière intervention  
 

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
Lume56 Messages postés 38 Date d'inscription   Statut Membre Dernière intervention  
 

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
avion-f16 Messages postés 19268 Date d'inscription   Statut Contributeur Dernière intervention   4 510
 

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
Lume56 Messages postés 38 Date d'inscription   Statut Membre Dernière intervention  
 

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
Lume56 Messages postés 38 Date d'inscription   Statut Membre Dernière intervention  
 

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
avion-f16 Messages postés 19268 Date d'inscription   Statut Contributeur Dernière intervention   4 510
 

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
Lume56 Messages postés 38 Date d'inscription   Statut Membre Dernière intervention  
 

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
avion-f16 Messages postés 19268 Date d'inscription   Statut Contributeur Dernière intervention   4 510
 

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
Lume56 Messages postés 38 Date d'inscription   Statut Membre Dernière intervention  
 

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
Lume56
 

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
avion-f16 Messages postés 19268 Date d'inscription   Statut Contributeur Dernière intervention   4 510
 

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
Lume56
 

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
avion-f16 Messages postés 19268 Date d'inscription   Statut Contributeur Dernière intervention   4 510
 

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
Lume56 Messages postés 38 Date d'inscription   Statut Membre Dernière intervention  
 

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
avion-f16 Messages postés 19268 Date d'inscription   Statut Contributeur Dernière intervention   4 510
 

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