Configurer https sur vps ovh avec traefik
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Question

Configurer https sur vps ovh avec traefik

by
ThomasC67
Created on 2021-01-07 22:23:01 (edited on 2024-09-04 13:56:08) in Serveurs Privés Virtuels (VPS)

Bonjour,

J'ai pris un vps sous debian.

J'essaye de configurer ma connexion https avec docker et traefik.

Quand je rentre https://thomas-chateau.com dans google chrome ou mozilla j'ai cette erreur ;
image

Quelqu'un aurait-il une idée ? Je suis la formation "cours complet sur traefik" sur le site Udemy
Je n'arrive plus à avancer. Je ne sais pas si ça vient de ma config ou d'une particularité du service ovh que je connaitrai pas. Il y a une erreur intéressante dans les logs de mon service (capture d'écran -> docker service logs traefik_traefik) mais je ne la comprend pas.

D'après le formateur il faut vérifier que OVH est bien pris en charge par traefik. Ca se passe sur cette page : https://doc.traefik.io/traefik/v2.3/https/acme/#providers
Il y a OVH, je suppose que c'est bon du coup car je ne comprend pas les informations dans la colonne Code du fournisseur et Variables d'environnements. en tout cas il n'a pas l'aire de s'en servir dans son cours. Il utilise myresolver de ce que j'ai compris.

image

## -> docker-compose.http.yml

version: '3'

services:
traefik:
# The latest official supported Traefik docker image
image: traefik:v2.3
# Enables the Traefik Dashboard and tells Traefik to listen to docker
# enable --log.level=INFO so we can see what Traefik is doing in the log files
ports:
# Exposes port 80 for incomming web requests
- "80:80"
- "443:443"
# The Web UI port http://0.0.0.0:8080 (enabled by --api.insecure=true)
- "8080:8080"
volumes:
# So that Traefik can listen to the Docker events
- /var/run/docker.sock:/var/run/docker.sock
# Copies the Let's Encrypt certificate locally for ease of backing up
- ./letsencrypt:/letsencrypt
# Mounts the Traefik static configuration inside the Traefik container
- ./traefik.http.yml:/etc/traefik/traefik.yml

# Add the catapp service
catapp:
image: mikesir87/cats:1.0
labels:
- "traefik.enable=true"
- "traefik.http.routers.catapp.rule=Host(`thomas-chateau.com`)"
- "traefik.http.routers.catapp.service=catapp"
- "traefik.http.services.catapp.loadbalancer.server.port=5000"
- "traefik.http.routers.catapp.entrypoints=websecure"
- "traefik.http.routers.catapp.tls.certresolver=myresolver"

## -> traefik.http.yml

################################################################
# API and dashboard configuration
################################################################
api:
# Dashboard
#
#
dashboard: true
insecure: true
################################################################
# Docker configuration backend
################################################################
providers:
docker:
exposedByDefault: false
################################################################
# Traefik Logging
################################################################
log:
level: INFO

################################################################
# Entrypoint
################################################################
entryPoints:
web:
address: ":80"
websecure:
address: ":443"

################################################################
# Challenge HTTP
################################################################
certificatesResolvers:
myresolver:
acme:
email: chateau.thomass@gmail.Com
storage: acme.json
httpChallenge:
entryPoint: web

mon nom de domaine : thomas-chateau.com


6 Replies ( Latest reply on 2021-11-11 10:48:58 by
Jean-ChristopheV5
)

## -> interface OVH


## -> docker service logs traefik_traefik

Il faudrait déjà que votre VPS ne s'appelle pas 14a4862eb.vps.ovh.net.4a4862eb.vps.ovh.net.
Sinon vous ne pourrez jamais demander un certificat Let's Encrypt ou même un qui soit payant.

Bonjour,

Merci pour cette réponse mais pouvez-vous expliquer pourquoi je dois changer le hostname ?

Bonne journée.

Bonjour,

pour que le VPS est un FQDN qui vous appartient tout simplement.

Sinon là let's encrypt essaye de faire une validation HTTP-01 mais derrière votre serveur ne présente pas le token de validation, du coup cela semble un problème de configuration.

Cordialement, janus57

Bonjour, Merci de cette précision.

Mon métier moi c'est développeur informatique, j'ai pratiquement aucune notion d'admin système. Mais je souhaite apprendre..
Du coup je comprend pas bien tout ce vous me dites.

Quel genre d'hostname conviendrait ?
Est-ce que changer le hostname via l'inteface ovh est suffisant ou faut-il le faire en ligne de commande sur le vps ?



Merci d'avance et bonne journée.


Quel genre d'hostname


par exemple vps.1chateau.comchateau.com , c'est déjà à moitié fait.

Mais je comprends pas, sur un VPS on peux avoir plusieurs domaines différents, avec des certificats sur chacun d'entre eux non ? Donc si le nom du vps "vps.1chateau.comchateau.com" convient pour le nom de domaine "1chateau.comchateau.com" il pourra quand même avoir un certificat pour "example.com" non ?
Merci beaucoup pour ton aide


il pourra quand même avoir un certificat pour "example.com" non ?
Merci beaucoup pour ton aide


Lis un peu sur le sujet : SNI
c'est un échange juste avant l'ouverture de la session SSL.

Maintenant si tu es un prestataire de services, donne un nom de serveur dans le nom de domaine de ta boîte et non avec le domaine d'un client.

```text Bonjour, bon j'ai bien avancé,

J'ai écouté ce que vous m'avez dit mais j'ai pas l'impression que je puisse changer librement le nom de mon vps ovh : vps-4a4862eb.vps.ovh.net. Je peut changer le hostname vps-4a4862eb vers vps-tchateau mais ça s'arrête là et ça ne semble me mener à rien. Du coup ne me jugez pas trop mais j'ai acheter un autre nom de domaine : thomas-chateau.net . Comme ça je colle avec le .net de mon vps. Et du coup ça marche maintenant. J'ai surement fait un peu le bourrin mais il me faut rapidement un environnement sur lequel je peut déployer mes travaux de dev pour le taff donc tant pis..

Par contre dans les logs de mon docker j'ai quand même des drôles d'erreurs qui restent et que je met ici des fois que quelqu'un aurait une idée.

On dirait que j'ai trop spamme lets encrypt en redémarrant mes conteneurs et qu'il veut plus me donner de certificat. en tout cas c'est ce que je comprend c'est des notions encore très nouvelles pour moi. Du coup quand j'essaye d'accéder à mon site ça fonctionne mais d'abord j'ai connexion non privé et il faut que je clic pour continuer vers la page web.

**-> Quand je veut me connecter à mon site**


**-> Mes logs docker traefik**


Désolé que ce soit des captures d'écran et pas du texte mais ovh community me laisse pas le choix avec ses règles (pas plus de 2 image ou lien par post)...

Merci d'avoir pris le temps de me répondre toute information complémentaire est bonne à prendre :) ```

Bonjour,

simple vous avez atteint la limite de certificat gratuit, donc oui vous avez fait le bourrin sachant que la limite est de 5 certificats pour un même domaine et par semaine.


j'ai pas l'impression que je puisse changer librement le nom de mon vps ovh

vous essayez de le changer où ??

Cordialement, janus57

Bonjour,

J'ai suivis cette docs ovh :
https://docs.ovh.com/fr/public-cloud/modifier-le-hostname-dune-instance/

Mon vps à le hostname vps-tchateau mais ça ne change pas le fait que sur putty il faut je rentre vps-4a4862eb.vps.ovh.net pour l'accès ssh.

J'ai essayé via l'interface ovh aussi mais ça ne change rien c'est toujours vps-4a4862eb.vps.ovh.net pur l'accès ssh.


Je ne sais pas ou modifier du coup. Si vous avez une idée je suis preneur.

Bonne journée.


J'ai suivis cette docs ovh :


Pour résumer,

~# host 1chateau.netchateau.net
1chateau.netchateau.net has address 51.75.127.63

~# host vps.1chateau.netchateau.net
Host vps.1chateau.netchateau.net not found: 3(NXDOMAIN)

~# host 51.75.127.63
63.127.75.51.in-addr.arpa domain name pointer 14a4862eb.vps.ovh.net.4a4862eb.vps.ovh.net.

Comme l'adresse 1chateau.netchateau.net pointe sur 51.75.127.63, la section VPS de l'espace client OVH te permettrait de changer le reverse vers ce nom. Autre possibilité, tu l'appelles vps1.1chateau.netchateau.net ou vps0001.1chateau.netchateau.net si tu es très très ambitieux, ou tu lui donnes un nom de personnage de BD ou de cinéma, c'est comme tu veux.
A créer dans ta zone DNS avec un enregistrement A.

Quand celui-ci est OK, tu peux:
- assigner le reverse dans l'espace client, section VPS
- aller sur ton serveur lui-même, changer le hostname (dans /etc/hostname et /etc/hosts) mais aussi dans la config du serveur mail si tu comptes envoyer des mails depuis ton VPS.

Il n'y a pas besoin de changer le hostname du VPS pour bénéficier de l'automatisation LE de Traefik.

Faire pointer un enregistrement A vers l'IP du VPS est suffisant pour que Traefik puisse obtenir un certificat, moyennant la configuration nécessaire pour la méthode d'obtention (http, dns, etc.).

La configuration par DNS (c'est le tableau posté) permet de ne plus toucher à rien une fois faite mais elle prend plus de temps à configurer. Il faut notamment activer les API REST d'OVH pour votre compte.

Faites d'abord une authentification LE via HTTP pour vérifier que ça fonctionne et regardez dans la doc l'adresse du serveur de test de LE qui n'a pas la limite de renouvellement de certificats, ça permettra de valider les configurations.

Ce tutoriel est bien foutu https://www.grottedubarbu.fr/traefik-dns-challenge-ovh/