• # Pour commencer

    Posté par (site web personnel, Mastodon) . En réponse au message tutoriel pour héberger un site web sur apache2 avec une sécurisation https et via le proxy squid. Évalué à 2.

    Il avoir plus d'informations pour pouvoir aider précisément, notamment le contenu du fichier de configuration d'Apache. Néanmoins je vois déjà un certain nombre de problèmes :

    1. Quand on visite https://www.histoire.espacedesgaulois.org, la connexion au serveur ne peut même pas commencer, car il n'y a aucune entrée DNS pour www.histoire.espacedesgaulois.org (comme on peut le voir en tapant host www.histoire.espacedesgaulois.org). Il y en a bien une pour histoire.espacedesgaulois.org, donc soit tu veux vraiment le www (ce qui serait inhabituel pour un sous-domaine et peut compliquer les choses car s'il est possible pour un certificat TLS (SSL) de couvrir un domaine et tous ses sous-domaines, il est impossible de couvrir aussi les sous-sous-domaines), soit tu corriges l'adresse en https://histoire.espacedesgaulois.org.

    2. L'erreur « Could not reliably determine the server's fully qualified domain name » indique qu'il manque la directive ServerName. Comme tu as manifestement plusieurs sites, espacedesgaulois.org et histoire.espacedesgaulois.org, à héberger sur le même serveur (je vois la même IP dans le DNS des deux), il va falloir deux blocs VirtualHost, chacun avec un ServerName qui indique à quel domaine il s'applique. Et comme le site doit être servi en HTTP et en HTTPS, cela fait quatre VirtualHost en tout. Je recommande de rediriger HTTP vers HTTPS, comme dans l'exemple à la fin de ce commentaire.

    3. Le certificat ssl-cert-snakeoil.pem, comme son nom l'indique (snake oil = poudre de perlimpinpin), ne sert qu'à faire des tests. Il est auto-signé, c'est-à-dire qu'il ne certifie pas réellement que le serveur est celui qu'il prétend être, et donc les navigateurs Web rejettent ce type de certificats. Il faut obtenir un vrai certificat via Gandi, ou bien via un service comme Let's Encrypt. Soit tu as un certificat wildcard, qui s'applique à tous les sous-domaines, auquel cas le même peut servir pour espacedesgaulois.org et histoire.espacedesgaulois.org (mais pas pour www.espacedesgaulois.org car c'est un sous-sous-domaine), soit il faudra deux certificats séparés.

    Je termine par un exemple de configuration Apache :

    # espacedesgaulois.org servi en HTTPS (port 443)
    <VirtualHost *:443>
     ServerName espacedesgaulois.org
     DocumentRoot /chemin/vers/les/fichiers/de/espacedesgaulois.org/
     SSLEngine on
     SSLCertificateFile /chemin/vers/le/certificat.pem
     SSLCertificateKeyFile /chemin/vers/la/clé.key
     SSLCertificateChainFile /chemin/vers/les/certificats/intermédiaires.ca-bundle
    </VirtualHost>
    # espacedesgaulois.org en HTTP (port 80) redirige vers HTTPS
    <VirtualHost *:80>
     ServerName espacedesgaulois.org
     Redirect permanent / https://espacedesgaulois.org/
    </VirtualHost>
    # histoire.espacedesgaulois.org servi en HTTPS (port 443)
    <VirtualHost *:443>
     ServerName espacedesgaulois.org
     DocumentRoot /chemin/vers/les/fichiers/de/histoire.espacedesgaulois.org/
     SSLEngine on
     SSLCertificateFile /chemin/vers/le/certificat.pem
     SSLCertificateKeyFile /chemin/vers/la/clé.key
     SSLCertificateChainFile /chemin/vers/les/certificats/intermédiaires.ca-bundle
    </VirtualHost>
    # histoire.espacedesgaulois.org en HTTP (port 80) redirige vers HTTPS
    <VirtualHost *:80>
     ServerName histoire.espacedesgaulois.org
     Redirect permanent / https://histoire.espacedesgaulois.org/
    </VirtualHost>