Passer mon site en HTTPS

Tags: #<Tag:0x00007f63f386c9d8>

Bonjour,

Pour les cours, j’ai installé une debian 12, que j’ai ensuite passé en LAMP. J’ai aussi installé wordpress que j’héberge sur mon serveur dans le répertoire /var/www/http.

Je voudrai maintenant passer mon site en https. Mais pour cela j’ai cru comprendre qu’il faudrait que mon site ne soit plus en local afin de pouvoir utiliser le « Let’s Encrypt ».

La commande ci-dessous nécessite un nom de domaine. Il est possible d’avoir un nom de domaine ou d’utiliser let’s encrypt alors que mon serveur est en local ?
sudo certbot --apache --agree-tos --redirect --hsts -d support.it-connect.tech --email email@it-connect.tech

Merci pour tout.

Bonjour,

C’est un serveur dont tu veux fournir l’accès sur Internet? ou que tu utilise en local (en réseau local)?

Si sur internet:
Le nom de domaine est obligé sinon ton certificat ne marchera pas.
Il te faut un domaine et dans le DNS tu met un host.nom_de_domaine pour identifier ton site.
Et tu utilises host.nom_de_domaine pour le certificat.

Si c’est pour le local, tu peux utiliser un certificat auto-signé.

Merci pour cette réponse. Je pense que c’est en local. Je demanderai quand même les consignes à mon professeur et je reviens vers vous après avoir eu des spécifications sur les consignes.

Si ce n’est pas sur le net, du certificat auto-signé suffira. Il n’y a pas d’utilité d’un let’s encrypt pour du local

Sinon, utiliser yunohost (base debian) qui gère tout cela et bien plus
https://yunohost.org/#/

sauf s’il s’agit d’un cours destiné à installer un serveur avec le middleware et le site nécessaire :slight_smile:

Certes dans ce cas , ce n’est pas adapté :wink: mais en tant que solution clef en main si. Tout dépend de son besoin :wink:

Bonjour à tous,

Merci pour toutes vos réponses. Après concertation avec professeur, il s’est aperçu que la solution lets encrypt n’était pas possible sur notre tp puisque nous travaillons uniquement au local. Je vais donc essayer de faire en auto signé. Le moindre conseils de votre part serait d’une grande aide. Et qu’est-ce que yunohost. Est-ce utile en local ?

Merci d’avance à tous

Bonjour,

je pense que tout ça sera plus clair pour toi si tu es un peu à l’aise avec les concepts de chiffrement, et d’autorités de certification, en particulier. Pas besoin de devenir expert sur ces sujets (heureusement pour moi ^^), mais juste de savoir à quoi ça sert, à quel moment ça intervient dans un cas concret, et quelques façons de les mettre en œuvre.

D’ailleurs n’hésite pas à recourir à des sites généralistes comme Wikipedia, pour lire au moins les résumés des fiches pertinentes.
Et si la lecture de l’anglais n’est pas un soucis pour toi, il faut savoir que les fiches en langue anglaise sont souvent plus complètes que celles en langue française:


En gros, dans le cadre de ton TP, tu as besoin de savoir que HTTPS c’est le protocole HTTP avec une couche de chiffrement TLS. Les serveurs web, comme Apache que tu as installé, supportent HTTP et HTTPS. Le chiffrement des échanges entre le navigateur web du client et le serveur fait intervenir une clé de chiffrement * (Transport Layer Security — Wikipédia) obtenue avec le certificat.

* : pour HTTPS on a d’abord du chiffrement asymétrique (pour échanger une clé de chiffrement symétrique), puis du chiffrement symétrique pour le reste de la session parce que c’est plus performant en termes de rapidité, mais à la limite on peut juste retenir qu’il y a du chiffrement asymétrique avec la clé publique contenue dans le certificat

Les certificats peuvent être délivrés par une autorité de certification, comme Let’s Encrypt, ou ils peuvent être générés par l’administrateur du serveur web (on parle de certificat auto-signé). Comme l’obtention d’un certificat auprès de Let’s Encrypt (avec la commande certbot) implique une vérification par LE de l’authenticité de la demande (en gros, que la personne qui demande un certificat couvrant un domaine est bien propriétaire du domaine), tu ne pourras pas obtenir de certificat auprès d’eux (pour les autres autorités, je ne sais plus trop, mais de toute façon LE est la seule CA qui délivre gratuitement des certificats, à ma connaissance).

C’est pour ça que tu devras générer un certificat autosigné (tu pourras trouver sur le web plein de tutos pour ça, en utilisant openssl par exemple) et indiquer à ton serveur web d’utiliser ce certificat pour servir ton site en HTTPS.


Yunohost est une distribution basée sur Debian, et conçue pour faciliter la tâche aux administrateurs, en fournissant une interface graphique (console web, du même style que Plex par exemple) qui permet de déployer en quelques clics des services comme des CMS (Wordpress ou autre), des forums, etc. en prenant automatiquement en charge les configurations. C’est plutôt bien, mais je pense que le but de ton TP est justement de te faire « mettre les mains dans le cambouis », donc ce serait dommage de laisser Yunohost tout faire à ta place :grinning:

1 J'aime

Perso, quand je dois avoir de l’https facilement dans mes environnements locaux, j’utilise mkcert.

Toute la doc utile se trouve dans le readme du projet: GitHub - FiloSottile/mkcert: A simple zero-config tool to make locally trusted development certificates with any names you'd like.

1 J'aime

C’est pareil pour toutes les autorités de certification. Seuls les contacts déclarés dans le domaine (administratif, technique et facturation) surtout les deux premiers sont normalement en mesure de pouvoir le faire.

1 J'aime

L’idée du site ici est justement de donner les clés, plutot que de balancer une doc , surtout en anglais. De plus ça oblige à expliquer, donc à vérifier ses propres compétences et lacunes, et permet à tous sur le site de comprendre.

mkcert - se présente comme un outil simple avec aucune config ( Simple zero-config tool , donc pas besoin de doc :slight_smile: ) pour faire des certificats localement ( to make locally trusted certificates ) , ce qui est exactement ce que cherche @pierrelouisbess