Forum Linux.débutant tutoriel pour héberger un site web sur apache2 avec une sécurisation https et via le proxy squid

Posté par  . Licence CC By‑SA.
0
22
nov.
2025

Bonjour ,

Bien qu 'aillant une bonne formation universitaire en informatique (en fortran ), il m'est difficile de tester un site web sur apache2 en https sur UBUNTU 20.04.

J' ai réussi à installer sur Ubuntu 20.04 un serveur proxy squid qui pointe vers le moteur de recherche qwant.fr

J' ai créé un groupe: UGLU pour réunir les gaulois intéressés par mon site…

Si on tape systemctl status squid on obtient:

● squid.service - Squid Web Proxy Server
     Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2025-11-22 13:50:13 CET; 21min ago
       Docs: man:squid(8)
    Process: 1832 ExecStartPre=/usr/sbin/squid --foreground -z (code=exited, status=0/SUCCESS)
    Process: 1848 ExecStart=/usr/sbin/squid -sYC (code=exited, status=0/SUCCESS)
   Main PID: 1850 (squid)
      Tasks: 4 (limit: 4455)
     Memory: 21.4M
     CGroup: /system.slice/squid.service
             ├─1850 /usr/sbin/squid -sYC
             ├─1852 (squid-1) --kid squid-1 -sYC
             ├─1853 (logfile-daemon) /var/log/squid/access.log
             └─1857 (pinger)

nov. 22 13:50:13 puyuelo-K72Jr squid[1852]: Max Swap size: 0 KB
nov. 22 13:50:13 puyuelo-K72Jr squid[1852]: Using Least Load store dir selection
nov. 22 13:50:13 puyuelo-K72Jr squid[1852]: Set Current Directory to /var/spool/squid
nov. 22 13:50:13 puyuelo-K72Jr squid[1852]: Finished loading MIME types and icons.
nov. 22 13:50:13 puyuelo-K72Jr squid[1852]: HTCP Disabled.
nov. 22 13:50:13 puyuelo-K72Jr squid[1852]: Pinger socket opened on FD 14
nov. 22 13:50:13 puyuelo-K72Jr squid[1852]: Squid plugin modules loaded: 0
nov. 22 13:50:13 puyuelo-K72Jr squid[1852]: Adaptation support is off.

systemctl status apache2 donne:

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2025-11-22 13:50:07 CET; 23min ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 1153 (apache2)
      Tasks: 55 (limit: 4455)
     Memory: 9.8M
     CGroup: /system.slice/apache2.service
             ├─1153 /usr/sbin/apache2 -k start
             ├─1154 /usr/sbin/apache2 -k start
             └─1155 /usr/sbin/apache2 -k start

nov. 22 13:50:06 puyuelo-K72Jr systemd[1]: Starting The Apache HTTP Server...
nov. 22 13:50:07 puyuelo-K72Jr apachectl[1101]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, u>
nov. 22 13:50:07 puyuelo-K72Jr systemd[1]: Started The Apache HTTP Server.

J ' ai déployé sur GANDI www.histoire.espacedesgaulois.org et j'essaie de tester mon site sur apache2.

http:localhost affiche la page defaut d'apache.

https:localhost donne une erreur:ERR_SSL_PROTOCOL_ERROR

J 'en déduis que le seveur apache2 n'affiche rien de sécurisé alors qu'il dispose d'un certificat par défaut (ssl-cert-snakeoil.pem)

Quelles configurations et quels fichiers doivent être protégés en lecture pour que:

https://www.histoire.espacedesgaulois.org pointe vers index.html de mon site web ?

Pouvez vous me donner les instructions précises à taper pour réussir mon hébergement ?

Merci d'avance ….

  • # Pour commencer

    Posté par  (site web personnel, Mastodon) . Évalué à 2 (+0/-0).

    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>
    
  • # sécurisation du site en https

    Posté par  . Évalué à 1 (+1/-1).

    Bonjour et merci pour votre réponse pertinente.

    J ' ai demandé à Gandi un certificat via une instruction qui m ' a été fournie et j' ai uniquement une demande de certificat en .csr avec une clé .key qui va avec.
    J ' ai installé Visual Studio code qui marche avec l ' I.A. (Intelligence Approximative) et j' ai nettoyé une erreur dans mon fichier index.html.

    Pour le moment, j'ai réussi à configurer mon site en http://localhost:5500

    Je pourrais envisager de configurer apache2 en http pour voir s' il est accessible sur le web distant.
    Tant que je ne reçoie pas le fichier .crt de Gandi le https n'est pas possible.

    Comme mon site possède un lien sur le site US que j 'ai moi même développé

    https://1392657.mobirisesite.com

    squid est intéresant pour protéger mon serveur dans le cas où trop de trafic viendrait des USA. D' ailleurs Cloudflare a ralenti le trafic au niveau de Marseille pour protéger mon ordinateur.

    • [^] # Re: sécurisation du site en https

      Posté par  . Évalué à 3 (+0/-0).

      Squid, c'est un proxy SORTANT,en gros de ton reseau vers internet,
      qui evite que ton collegue ne telecharge le meme fichier que toi si tu es passé 5 minutes avant

      Ce que tu cherches c'est un reverse proxy (apache le fait, nginx, haproxy, caddy, etc)
      qui lui fera du controle 'entrant'

      un client demande ton site, arrive sur le reverse proxy, qui regarde certains motifs, puis envoie à un serveur (backend, le vrai serveur web)
      le reverse proxy peut alors par exemple filtrer ce qui vient de certains pays pour que cela n'arrive pas à ton serveur final

      bon ensuite, tu teste avec "localhost", donc sur la machine sur laquelle tu es connectée au moement de faire la requete.

      ton domaine www….. histoire.de.gaulois.fr ne pointe pas vers cette meme machine, le "client" n'arrivera jamais a afficher la page de ton site

      comme dit plus haut, deja avoir un nom de domaine pour ton site, qui pointe sur la bonne machine, puis configurer la machine pour accepter ce nom de domaine et l'envoyer vers le bon dossier (virtualhost sur apache)

      tu viendras ensuite mettre des protections (reverse proxy, firewall, waf) une fois que tu seras sur que tes flux arrivent aux bons endroits.

      si vraiment tu as peur de te faire pirater, un simple parefeu (ufw, iptables) ou une simple restriction dans apache peut faire que seule tes IPs soient autorisées à venir sur ton site (IP de la maison, IP du bureau)

  • # Reception de certificats ssl de GANDI

    Posté par  . Évalué à 1 (+0/-0).

    Bonjour,

    J' ai réussi à télécharger 2 certificats ssl de Gandi.

    1) en *.crt
    2) GandiCert en *.pem

    Avant de tester https://histoire.espacedesgaulois.org , il me faudrait télécharger sur Ubuntu 20.04 un logiciel d'administration qui marche pour apache et le proxy squid .

    Qu' en pensez vous ?

  • # administration apache2 avec cockpit

    Posté par  . Évalué à 2 (+1/-0).

    J' ai installé un logiciel d'administration pour apache2 et squid.

    Sur les journaux et en sélectionnant apachctl :

    AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message

    Impossible de déterminer de manière fiable le nom de domaine complet du serveur, à l'aide de 127.0.1.1. Définissez globalement la directive 'ServerName' pour supprimer ce message

    Ce qui revient à dire que le serveur apache2 n'est pas encore configuré pour histoire.espacedesgaulois.org

    je vais regarder dans la doc d' apache pour commencer la configuration….

  • # hébergement résolu localement

    Posté par  . Évalué à 1 (+0/-0).

    Mon site marche quand apache est activé.

    Est ce que le site est accessible plus largement en U.E et au dela ?

    • [^] # Re: hébergement résolu localement

      Posté par  . Évalué à 3 (+0/-0).

      helas non

      pourquoi ?
      parce que ton nom DNS n'existe pas en dehors de chez toi

      depuis chez moi la requete dig confirme que mon DNS ne connait pas ce nom là
      pas plus que espacedesgaulois.org ou www.espacedesgaulois.org

      % dig histoire.espacedesgaulois.org
      
      ; <<>> DiG 9.10.6 <<>> histoire.espacedesgaulois.org
      ;; global options: +cmd
      ;; Got answer:
      ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47898
      ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
      
      ;; OPT PSEUDOSECTION:
      ; EDNS: version: 0, flags:; udp: 1232
      ;; QUESTION SECTION:
      ;histoire.espacedesgaulois.org. IN  A
      
      ;; Query time: 51 msec
      ;; SERVER: 192.168.200.250#53(192.168.200.250)
      ;; WHEN: Sat Dec 13 19:49:40 CET 2025
      ;; MSG SIZE  rcvd: 58

      a priori c'est gandi qui gere le nom de domaine espacedesgaulois.org
      c'est donc chez gandi qu'il faut que tu regles que

      histoiredesgaulois.org => l'IP de ton serveur

      evidemment s'il est hebergé chez toi, il faudra alors faire un peu de reglage reseau pour que le trafic arrivant de l'exterieur puisse rentrer sur ton serveur ensuite

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.