Aurel004 Posté(e) le 27 mars 2024 Posté(e) le 27 mars 2024 Bonjour, Je viens vers vous pour demander de l'aide je suis en train de m'arracher les cheveux. Voulant commencer à utiliser Authentik, j'ai dû mettre un terme à l'utilisation du reverse proxy de Synology et mettre en place Traefik. Après de nombreux problèmes, j'ai réussi à faire fonctionner Traefik en local. A savoir : J'utilise en local le DNS Server de Synology. Traefik est placé dans un container en macvlan à l'IP 192.168.0.102, le Synology a une route avec son IP 192.168.0.103 et l'IP réseau (pour la box) du Synology est 192.168.0.48 Après avoir obtenu un certificat wildcard via Traefik et Let's Encrypt, je souhaite rendre certains sous-domaines accessibles depuis l'extérieur. J'ai bien ajouté la redirection des ports 80 et 443 vers l'IP Traefik (192.168.0.102) sur la box. Cependant, quand j'essaie d'accéder à un conteneur depuis l'extérieur, j'ai ces erreurs : level=debug msg="http: TLS handshake error from XXX.XXX.XXX.XXX:2149: write tcp 192.168.0.102:443->XXX.XXX.XXX.XXX:2149: write: connection reset by peer" level=debug msg="http: TLS handshake error from XXX.XXX.XXX.XXX:2150: write tcp 192.168.0.102:443->XXX.XXX.XXX.XXX:2150: write: connection reset by peer" level=debug msg="http: TLS handshake error from XXX.XXX.XXX.XXX:2151: tls: client offered only unsupported versions: [301]" En local, je vois bien le certificat Let's Encrypt valide sur les containers que je visite. J'ai tenté l'entraide de communauté Traefik mais cela ne donne pour l'instant rien et je pense que le problème vient du macvlan sur Synology Voici mes configurations : docker-compose Traefik version: '3' secrets: ovh_application_key: file: blabla ovh_application_secret: file: blabla ovh_consumer_key: file: blabla services: traefik: image: traefik:latest container_name: traefik restart: unless-stopped networks: macvlan: traefik: volumes: - /volume1/docker/traefik/config:/etc/traefik - /etc/localtime:/etc/localtime:ro labels: traefik.enable: true traefik.http.routers.dashboard.rule: Host(`traefik.mydomain.com`) traefik.http.routers.dashboard.service: api@internal traefik.http.routers.dashboard.middlewares: auth traefik.http.routers.dashboard.entrypoints: websecure traefik.http.middlewares.auth.basicauth.users: XXXXXXXXXXXXX depends_on: - socket-proxy secrets: - ovh_application_key - ovh_application_secret - ovh_consumer_key environment: OVH_ENDPOINT: ovh-eu OVH_APPLICATION_KEY_FILE: /run/secrets/ovh_application_key OVH_APPLICATION_SECRET_FILE: /run/secrets/ovh_application_secret OVH_CONSUMER_KEY_FILE: /run/secrets/ovh_consumer_key socket-proxy: image: tecnativa/docker-socket-proxy container_name: traefik_docker_socket-proxy restart: unless-stopped volumes: - /var/run/docker.sock:/var/run/docker.sock:ro environment: CONTAINERS: 1 networks: - traefik networks: macvlan: name: macvlan traefik: name: traefik Configuration statique traefik.yml global: checkNewVersion: true sendAnonymousUsage: false entrypoints: web: address: :80 http: redirections: entryPoint: to: websecure scheme: https websecure: address: :443 http: tls: certResolver: letsencrypt domains: - main: mydomain.com sans: "*.mydomain.com" forwardedHeaders: traefik: address: :8080 ping : {} log: level: debug accessLog: filePath: "/etc/traefik/access.log" serversTransport: insecureSkipVerify: true api: dashboard: true debug: true providers: docker: endpoint: tcp://socket-proxy:2375 exposedByDefault: false file: filename: /etc/traefik/rules.yml certificatesResolvers: letsencrypt: acme: email: XXXXX storage: /etc/traefik/acme.json caServer: "https://acme-v02.api.letsencrypt.org/directory" dnsChallenge: provider: ovh resolvers: - "1.1.1.1:53" - "8.8.8.8:53" Un conteneur que j'essaie d'accéder version: '3.8' services: pingvin-share: image: stonith404/pingvin-share container_name: pingvin-share restart: unless-stopped environment: - PORT:3000 volumes: - blabla - blabla networks: traefik: labels: traefik.enable: true traefik.http.routers.pingvin-share.rule: Host(`share.mydomain.com`) traefik.http.routers.pingvin-share.entrypoints: websecure traefik.http.routers.pingvin-share.tls: true traefik.http.routers.pingvin-share.tls.certresolver: letsencrypt networks: traefik: external: true Merci pour votre aide 0 Citer
.Shad. Posté(e) le 28 mars 2024 Posté(e) le 28 mars 2024 (modifié) @Aurel004 C'est très étrange que ça fonctionne en local mais pas à distance. Hormis la bonne configuration de Traefik que je ne connais pas du tout, la seule possibilité que je vois serait que pingvin n'autorise pas les accès distants, vu que Traefik doit sûrement faire du forward d'IP (ce sera nécessaire pour utiliser Authentik). Envoie-moi un MP avec tes dispos si tu veux qu'on regarde avec prise de contrôle à distance. Parallèlement, je vois quand même des choses étranges dans tes compose, notamment : Il y a 12 heures, Aurel004 a dit : networks: macvlan: name: macvlan Ce que tu fais là c'est créer un réseau bridge nommé macvlan et pas un réseau macvlan. Pour ce faire il faudrait plutôt écrire : networks: macvlan: name: macvlan driver: macvlan driver_opts: parent: <nom_interface> ipam: config: - subnet: "192.168.0.0/w" ip_range: "192.168.0.x/y" gateway: "192.168.0.z" Ca reste un réseau interne, j'aurais plutôt créer un réseau externe, histoire de ne pas faire péter l'interface virtuelle si tu arrêtes la stack de Traefik. Il y a 12 heures, Aurel004 a dit : environment: - PORT:3000 La syntaxe est mauvaise, c'est soit : environment: - PORT=3000 ou : environment: PORT: 3000 L'espace est important entre PORT: et 3000, je suis même étonné que tu n'aies pas d'erreur. Et par défaut le frontend de pingvin semble écouter sur le port 3000, pas besoin de le préciser normalement, d'autant qu'ils ont des variables avec le même nom pour le backend et le frontend : https://github.com/stonith404/pingvin-share/issues/397 Modifié le 28 mars 2024 par .Shad. 0 Citer
Aurel004 Posté(e) le 28 mars 2024 Auteur Posté(e) le 28 mars 2024 Salut, Il y a 2 heures, .Shad. a dit : la seule possibilité que je vois serait que pingvin n'autorise pas les accès distants Ça fonctionnait bien avec le reverse proxy de Synology, et j’ai le même problème sur tous mes containers Il y a 2 heures, .Shad. a dit : ce sera nécessaire pour utiliser Authentik C’est la raison pour laquelle j’ai décidé (d’essayer) de passer du reverse proxy Synology à Traefik Il y a 2 heures, .Shad. a dit : Envoie-moi un MP avec tes dispos si tu veux qu'on regarde avec prise de contrôle à distance. Je t’envoie un MP, merci! Il y a 2 heures, .Shad. a dit : networks: macvlan: name: macvlan driver: macvlan driver_opts: parent: <nom_interface> ipam: config: - subnet: "192.168.0.0/w" ip_range: "192.168.0.x/y" gateway: "192.168.0.z" C’est ce que je fais effectivement, j’avais juste simplifié le copier/coller en effaçant ça Il y a 2 heures, .Shad. a dit : La syntaxe est mauvaise, c'est soit : environment: - PORT=3000 ou : environment: PORT: 3000 My bad, je rectifie mais effectivement comme c’est le port par défaut ça fonctionnait quand même Si cela marche en local c’est peut être qu’il doit ignorer la vérification SSL, mais pas si cela vient de l’extérieur, en tout cas je pense vraiment qu’il y a quelque chose qui ne va pas au niveau du certificat ou de comment Syno accepte la requête forwardée au macvlan Traefik est basé sur le même principe que nginx proxy 0 Citer
.Shad. Posté(e) le 28 mars 2024 Posté(e) le 28 mars 2024 Il y a 2 heures, Aurel004 a dit : C’est la raison pour laquelle j’ai décidé (d’essayer) de passer du reverse proxy Synology à Traefik Soit dit en passant, SWAG gère parfaitement Authentik comme Authelia, pour avoir testé le premier quelques semaines je n'ai pas eu le moindre souci. 0 Citer
Aurel004 Posté(e) le 28 mars 2024 Auteur Posté(e) le 28 mars 2024 Je pense essayer de le mettre en place pour voir si lui fonctionne mais j'aurais préféré Traefik 0 Citer
Aurel004 Posté(e) le 28 mars 2024 Auteur Posté(e) le 28 mars 2024 Ok ça semble fonctionner si je fais ça : https://3os.org/infrastructure/synology/disable-dms-listening-on-80-443-ports/ Mais je perds l'utilité du macvlan et dois donc changer la règle NAT pour pointer vers le Syno et non plus Traefik et en ajoutant ports: - 80:80 - 443:443 dans le docker-compose de traefik 0 Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.