Asustor Problème sur le Reverse Proxy sur Asustore

Je crois que je viens de trouver comment économiser la bière du matin du 1er janvier.
Notez que j'ai dit "peut être" car mon serveur est occupé (créneau de "PROD") donc je ne fais pas de changement ce soir donc je ne pourrais pas pousser les essais immédiatement.

En guise de teasing, je vous invite à regarder :

https://community.traefik.io/t/use-a-different-port-for-a-specific-suffix/7980

comme je cherchais justement à faire la régulation RP de ubooquity, je suis tombé sur ce site et manifestement il distingue bien les URLs :
_ monportail.mondomaine.com
et
_ monportail.mondomaine.com/admin

après la seule différence avec mon setup actuel c'est

1 / qu'il passe le service sur une ligne dans le docker-compose.yml du style :
- "traefik.http.services.<monnomdewebapp>.loadbalancer.server.port=2202"
et donc sa rule fonctionne chez lui (- "traefik.http.routers.ubooquity-admin.rule= Host(`ubooquity.${DOMAINNAME}`) && PathPrefix(`/admin`)")
ca j'avais déjà mais bon... (si il faut que je regarde son place holder sur la variable domainname : bonne pratique ... mais ce sera pour les finitions... :)

2/ il ne mentionne pas l'URL comme je le fais dans mon fichier de service

A ce stade : to be continued...
 
Ce soir, j'ai gagné un bière par an.

Je vous explique ? .... bon ok !

tout est fourré dans mon docker-compose.yml (je ne sais pas si c'est une bonne pratique mais ca ronrone bien) :

1 - une bonne règle (là ça sent déjà le malte)
2 - on remarque que j'ai explicité portainer et portainertls dans 2 routers distincts. (là on sent le degrès monter).

- "traefik.http.routers.portainer.rule=Host(`monnomde.domaine.com`) && PathPrefix(`/portainer`)"
- "traefik.http.routers.portainer.entrypoints=http"
- "traefik.http.routers.portainer.middlewares=https_redirect"
# HTTPS portainer-tls
- "traefik.http.routers.portainertls.rule=Host(`monnomde.domaine.com`) && PathPrefix(`/portainer`)"
- "traefik.http.routers.portainertls.entrypoints=https"

3 - là où la magie du vieillissement en fut de chêne n'a pas son pareil ; un middleware bien senti se déclare

- "traefik.http.middlewares.strip-portainer.stripPrefix.prefixes=/portainer"

4 - ... et s'appelle

- "traefik.http.routers.portainertls.middlewares=strip-portainer"
- "traefik.http.routers.portainertls.service=serviceportainertls@file"
- "traefik.http.routers.portainertls.tls=true"
- "traefik.http.routers.portainertls.tls.certresolver=letsencrypt"

Et tout marche nickel !.....
Tout, non, on arrive bien sur l'application mais l'écran reste bloqué sur la vue ci-dessous ! :rolleyes:
(image tout en bas)

Et là, je n'ai aucune espèce d'idée de comment réparer un routage qui semble marcher nickel. Mais ce n'est plus du routage à ce stade, je pense.

1 / Peut être que le problème vient, et pour une raison qui m'échappe, de l'intervention de Traefik. Il ne permetrait pas une bonne gestion du certificat et il faudrait injecter le portainer.crt et le portainer.key manuellement comme dans https://documentation.portainer.io/v2.0/deploy/ssl/ ???

2 / Est-ce que si Traefik peut donc gérer mondom.com/site1 et mondom.com/site2, les certificats ne peuvent traiter les 2 sites ? (je ne vois pas pourquoi ce ne serait pas possible mais si vous avez un avis formel sur ce point, je suis preneur).

Je reprendrai le travail avec une autre webapp (ubooquity) : on verra si elle peut faire du TLS uniquement grâce à Traefik ou non.
 

Pièces jointes

  • tempsnip.png
    tempsnip.png
    6.3 KB · Affichages: 254
Je n'ai pas lu en détail ton post mais ce que je peux dire c'est qu'un certificat est valable pour un sous domaine. Du coup il me semble que quel ce soit
mondomaine.com/site1 ou
mondomaine.com/site2
Le sous domaine reste mondomaine.com et donc un seul certificat correspondant.

Ce serait tellement plus simple d'atteindre ton but avec portainer.tondomaine.com :rolleyes: tu serais déjà passé à autre chose depuis longtemps et tu pourrais boire la bière du 2 janvier tranquille :geek:
 
Bonjour,

Bon pour portainer => résolu.

En fait, il faut ajouter dans le lien vers la mire de connexion web : /#!

moi j'ai ;

href="https://mon.domaine.com/portainer/#!"

puisque "portainer" est mon préfix pour Traefik2.

... encore une fois, quand on a la réponse, ça parait trop simple.