Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1354 connectés 

  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Réseaux

  [TRAEFIK] Aide pour reverse dns et certifical SSL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[TRAEFIK] Aide pour reverse dns et certifical SSL

n°160062
subfocus
Posté le 28-01-2019 à 17:07:42  profilanswer
 

Salut, j'ai besoin d'un peu d'aide parce que je slack depuis 1 semaine dessus. J'apprends sur le tas.
 
Je suis arrivé à mettre en route un service rocketchat sur port 3000 (defaut) dans un conteneur docker avec sa mongodb, sa replica, et un traefik : 80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:80->
 
Sans certificat SSL (parceque je sais pas comment les générer j'ai mal à la tête j'ai déjà du me refaire un refresh en rézo)
 
Le but ce serait de rendre ce rocketchat atteignable avec un reverse proxy mais j'y arrive pas... Y'a sans doute plein de trucs que je ne comprends pas.
 
Le traefik.toml :
 
debug = true
logLevel = "DEBUG"
defaultEntryPoints = ["http","https"]
 
[web]
address = ":8081"
 
[entryPoints]
  [entryPoints.http]
  address = ":80"
  [entryPoints.https]
  address = ":443"
    [entryPoints.https.tls]
 
[retry]
 
[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "rocketchat.site.fr"
watch = true
exposedByDefault = false
 
[acme]
email = "moi@site.fr"
storage = "acme.json"
entryPoint = "https"
onHostRule = true
[acme.httpChallenge]
entryPoint = "http"
 
[file]
 
[backends]
  [backends.backend1]
    [backends.backend1.servers]
      [backends.backend1.servers.server0]
        url = "http://ip.du.vps:3000"
 
[frontends]
  [frontends.frontend1]
  entryPoints = ["https"]
  backend = "backend1"
 
#[[tls]]
#  entryPoints = ["https"]
#  [tls.certificate]
#    certFile = "/certs/rocketchat.site.fr.cert"
#    keyfile = "/certs/rocketchat.site.fr.key"
 
 
Le docker-compose :
 
 
version: '2'
 
services:
  traefik:
    image: traefik:latest
    restart: unless-stopped
    ports:
      - 80:3000
      - 443:443
    volumes:
      - ./traefik.toml:/traefik.toml
      - ./certs/:/certs
      - /var/run/docker.sock:/var/run/docker.sock
  rocketchat:
    image: rocketchat/rocket.chat:latest
    restart: unless-stopped
    volumes:
      - ./uploads:/app/uploads
    environment:
      - PORT=3000
      - ROOT_URL=http://rocketchat.site.fr
      - MONGO_URL=mongodb://mongo:27017/rocketchat
      - MONGO_OPLOG_URL=mongodb://mongo:27017/local
      - MAIL_URL=smtp://smtp.email
      - HTTP_PROXY=http://rocketchat.site.fr
      - HTTPS_PROXY=http://rocketchat.site.fr
    depends_on:
      - mongo
    ports:
      - 3000:3000
    labels:
      - "traefik.backend=rocketchat"
      - "traefik.frontend.rule=Host: rocketchat.site.fr"
 
  mongo:
    image: mongo:3.2
    restart: unless-stopped
    volumes:
     - ./data/db:/data/db
     #- ./data/dump:/dump
    command: mongod --smallfiles --oplogSize 128 --replSet rs0
    labels:
      - "traefik.enable=false"
 
  # this container's job is just run the command to initialize the replica set.
  # it will run the command and remove himself (it will not stay running)
  mongo-init-replica:
    image: mongo:3.2
    command: 'mongo mongo/rocketchat --eval "rs.initiate({ _id: ''rs0'', members: [ { _id: 0, host: ''localhost:27017'' } ]})"'
    depends_on:
      - mongo
 
  # hubot, the popular chatbot (add the bot user first and change the password before starting this image)
  hubot:
    image: rocketchat/hubot-rocketchat:latest
    restart: unless-stopped
    environment:
      - ROCKETCHAT_URL=rocketchat:3000
      - ROCKETCHAT_ROOM=GENERAL
      - ROCKETCHAT_USER=bot
      - ROCKETCHAT_PASSWORD=botpassword
      - BOT_NAME=bot
  # you can add more scripts as you'd like here, they need to be installable by npm
      - EXTERNAL_SCRIPTS=hubot-help,hubot-seen,hubot-links,hubot-diagnostics
    depends_on:
      - rocketchat
    labels:
      - "traefik.enable=true"
    volumes:
      - ./scripts:/home/hubot/scripts
  # this is used to expose the hubot port for notifications on the host on port 3001, e.g. for hubot-jenkins-notifier
    ports:
      - 3001:8080
 
 
Je cherche surtout à comprendre ce qui ne marche pas et ce que je ne comprends pas. Donc si il y a quelqu'un de dispo et que je suis dans les règles. J'ai besoin d'un peu d'aide.
 
Merci d'avance.
 
 
 
 

mood
Publicité
Posté le 28-01-2019 à 17:07:42  profilanswer
 

n°160064
subfocus
Posté le 28-01-2019 à 17:36:15  profilanswer
 

J'aime beaucoup les émoticônes qui sont venus remplacer les : / ^^

n°160068
subfocus
Posté le 28-01-2019 à 17:52:53  profilanswer
 

En vrai je vais paraître ptet demeuré mais je dois faire un sous domaine avec un domaine existant sousdomain.domaine.tld (c'est ça?), le domaine est chez un hébergeur
 
Je fait quoi pour faire le lien entre ma vm dans un coin et le domain principale, c'est quoi les notions fondamentales que j'ai zappées ?

n°160072
Je@nb
Modérateur
Kindly give dime
Posté le 28-01-2019 à 18:25:49  profilanswer
 

si tu veux pas les smileys faut mettre les balises [fixed] ou [cpp] autour
et il te manque le dns ...

n°160084
HPIR40
Posté le 29-01-2019 à 11:33:55  profilanswer
 

subfocus a écrit :

En vrai je vais paraître ptet demeuré mais je dois faire un sous domaine avec un domaine existant sousdomain.domaine.tld (c'est ça?), le domaine est chez un hébergeur

 

Je fait quoi pour faire le lien entre ma vm dans un coin et le domain principale, c'est quoi les notions fondamentales que j'ai zappées ?

 

Ton domaine toto.fr est chez un hebergeur pas de soucis pour le moment.

 

maintenant tu veux heberger chez toi serveurweb.toto.fr: donc chez ton hebergeur dans la zone dns tu declare que serveurweb.toto.fr est sur l'Ip xxx.xxx.xxx.xxx

 

xxx.xxx.xxx.xxx c'est ton ip publique chez toi

 

Maintenant chez toi, tu va recevoir la requete pour serveurweb.toto.fr, ben au niveau de ta box ou de ton serveur tu va envoyer cette requête la ou il faut.

 

Cela c'est le point numero 1

 

ensuite si tu heberge chez toi 3 serveurs web; serveurweb1.toto.fr serveurweb2.toto.fr serveurweb3.toto.fr, ils vont donc tous, au niveau de ton hebergeur de domaine être sur ton IP publique, donc a ce moment la tu met en place chez toi un reverse proxy qui va donc trier les requêtes pour les envoyer la ou il faut.
Donc le reverse proxy va rediriger les requêtes vers des ports et IP spécifiques (cas de docker par exemple) ou vers une ip locale (cas de virtualisation de serveur en local par exemple)

 

Bien entendu, rien n'empêche de mettre en place un reverseproxy même si tu n'a qu'un seul serveur web installé.

 

Cela c'est le point numero 2

 

Maintenant je ne connais pas du tout traefik, je suis resté basique (c'est toujours ce qui fonctionne le mieux) et j'ai toujours monté mes reverse proxy avec le duo debian/apache2.

 

Pour info, mes certificats SSL, générés avec let'sencrypt, sont gérés au niveau du reverseproxy et non au niveau du serveur web.

 


Message édité par HPIR40 le 29-01-2019 à 11:34:19
n°160090
subfocus
Posté le 29-01-2019 à 14:53:23  profilanswer
 

Hey salut à tous merci beaucoup pour la réponse. En effet il me manquant de la comphréansion de nom de domaine et de dns que je confondais.
 
J'ai bien récupéré les outiles pour définir une nouvelle zone et ça à fonctionné. Mainenant rester à mettre tout ça en https tls.
 
Et j'allais taper ma question mais je vois que HPIR y a répondu. Je vais essayer de générer avec Lets encrypt au niveau du reverse proxy.
 
Je 'ai mit de côté le toml dans ma configuration de docker-compose. Je vais essayer de créer un demande de certificat dans le docker compose au niveau de mon reverse proxy.

n°160093
subfocus
Posté le 29-01-2019 à 16:29:53  profilanswer
 

Je sais pas échec. J'ai réussi à sortir une certif avec certbot qui m'a dit ton  domain est ok félicitation il m'a sorti des fichiers pem etc. youpi depuis j'essaie de les intégréer à mon traefik,  et je casse tout le site n'est plus que de disponible a site.fr:3000  
 
 
...... Comme je peux le traefiker pour avoir un certificat valide dans mon container ?

n°160126
subfocus
Posté le 30-01-2019 à 17:49:32  profilanswer
 

Tout bon pour moi c'est cool. On s'en fout du .crt .key .zgeg, si y'en à d'autres qui tombent sur ce topic tu donnes tout dans un dossier que tu mets dans le dossier racine pour traefik et tu lui indique où est ta paire de clés peu importe l'extension.
 
Merci à tous


Message édité par subfocus le 30-01-2019 à 17:49:44

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Réseaux

  [TRAEFIK] Aide pour reverse dns et certifical SSL

 

Sujets relatifs
Besoin d'aide pour un Vlan Voice sur switch Ciscorelier deux pc virtuel a l'aide d'un commutateur externe
Gsuite - un peu d'aide SVP sur les users et la facturationDemande d'aide pour choix de Livres
Besoin d'aide sur le firewall OPNsense pour un réglageaide au choix de license windows server
Aide Netasq F50Reverse Proxy
Plus de sujets relatifs à : [TRAEFIK] Aide pour reverse dns et certifical SSL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR