Jeedom et JC derriere Swag et Authelia

Bonjour a vous
Je suis sous Jeedom et je passe derriere le reverse proxy swag avec Authelia
tout est niquel sauf depuis que je suis sous Jeedom connect qui bloque a cause d’Authelia
ma question est
Est ce que le Reverse Proxy est suffisant, si je debraye Athelia?
Je voulais passer en Websocket pour avoir un port pour Jeedom via Authelia et un pour JC mais il me semble que pour telecharger les images perso ca passe quand meme par le https, et donc ca bloque a cause de Authelia :slight_smile:

Je sais pas si je reste comme ca ou alors je passe par mon VPN Wiregard

quand pensez vous?

Merci Bonne journée

Bonne question !

Pour ma part, j’ai contourné le problème.
J’ai créé une entrée pour jeedom qui passe par Authelia, et une entrée jeedomconnect qui ne passe pas par Authelia.

Si vous avez plus propre, je suis preneur.

Fichier jeedom.subdomain.conf:

## Version 2022/09/08
# make sure that your dns has a cname set for jeedom

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    server_name jeedom.*;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    # if ($lan-ip = yes) { set $geo-whitelist yes; }
    # if ($geo-whitelist = no) { return 444; }

    # enable for ldap auth (requires ldap-location.conf in the location block)
    #include /config/nginx/ldap-server.conf;

    # enable for Authelia (requires authelia-location.conf in the location block)
    include /config/nginx/authelia-server.conf;

    location / {
        # enable the next two lines for http auth
        #auth_basic "Restricted";
        #auth_basic_user_file /config/nginx/.htpasswd;

        # enable for ldap auth (requires ldap-server.conf in the server block)
        #include /config/nginx/ldap-location.conf;

        # enable for Authelia (requires authelia-server.conf in the server block)
        include /config/nginx/authelia-location.conf;

        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;
        set $upstream_app 192.168.0.21;
        set $upstream_port 80;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;
    }

    # Page santé
    location ~ /here.html {
        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;

        set $upstream_app 192.168.0.21;
        set $upstream_port 80;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;
    }
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    server_name jeedomconnect.*;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    # if ($lan-ip = yes) { set $geo-whitelist yes; }
    # if ($geo-whitelist = no) { return 444; }

    # enable for ldap auth (requires ldap-location.conf in the location block)
    #include /config/nginx/ldap-server.conf;

    # enable for Authelia (requires authelia-location.conf in the location block)
    #include /config/nginx/authelia-server.conf;

    location / {
        # enable the next two lines for http auth
        #auth_basic "Restricted";
        #auth_basic_user_file /config/nginx/.htpasswd;

        # enable for ldap auth (requires ldap-server.conf in the server block)
        #include /config/nginx/ldap-location.conf;

        # enable for Authelia (requires authelia-server.conf in the server block)
        #include /config/nginx/authelia-location.conf;

        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;
        set $upstream_app 192.168.0.21;
        set $upstream_port 80;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;
    }

    # Page santé
    location ~ /here.html {
        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;

        set $upstream_app 192.168.0.21;
        set $upstream_port 80;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;
    }

    # JeedomConnect
    # https://jeedom.MONDOMAINE/socket
    location ~ (/jeedom)?/socket {
        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;

        #websocket support
		proxy_set_header	Upgrade $http_upgrade;
		proxy_set_header	Connection "Upgrade";

        #proxy_http_version 1.1
        set $upstream_app 192.168.0.21;
        set $upstream_port 8090;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;
    }
}

Et concernant le paramétrage de Jeedom, j’utilise l’entrée Jeedom :

et pour Jeedom Connect, j’utilise l’autre entrée :

Je suis le sujet voir si y’a mieux à faire.

Salut
Pas mal je vais regarder ça :blush:
Merci a toi

Ton pb concernant l’accès à JC, je me suis permis de changer le tag.

Norbert

Ca ne concerne pas JC, mais un pb de conf sur son archi

Je n’ai pas dit que ça concernait JC mais l’accès à JC. Et comme c’est l’unique problème de ce post ça me semble-t-il de flaguer JC.

Bonjour @yannickinlive26

tu dis :

pourquoi ne pas faire plus simple ;
→ accès jeedom par Authelia, tu as un sous-domaine type jeedom.amoi.fr
→ accès JC, je présume que tu as un sous-domaine jc.amoi.fr, tu bypass ce sous-domaine dans la config Authelia

ça devrait marcher… je n’utilise pas Authelia pour Jeedom pour le moment (mais à l’étude, vu que c’est l’été on va pouvoir jouer avec) mais sur d’autre appli où il faut bypasser certaine url (api…) et ça fonctionne !

PS: j’utilise Traefik (en reverse-proxy), Authelia et Oauth (pour les authentifications)

Et comme dit @tomitomas j’ai une usine à gaz mais ça fonctionne :crazy_face: :crazy_face: :crazy_face:

1 « J'aime »

C’est la solution que j’ai proposée ci-dessus : 2 domaines dont 1 géré avec Authélia & Jeedom SSO, et l’autre en by-pass :slight_smile:

Oui effectivement sorry, j’avais pas lu en entier ton fichier de conf… (habitude de séparé mes fichiers et gestion par traefik)

Pas grave :blush:
En tout cas, cela semble dire que c’est une solution viable et pas trop cracra ?
J’aimerai voir d’autres propositions pour faire plus propre.
Oui, Swag propose normalement de séparer les fichiers. Là, j’ai fait mon crado aussi :rofl:

Salut
Merci pour ton fichier

Je ne comprends pas:

    # Page santé
    location ~ /here.html {
    # JeedomConnect
    # https://jeedom.MONDOMAINE/socket
    location ~ (/jeedom)?/socket {

y a un parametrage particulier?
est ce que avec cette manip, tu arrives a charger les icones perso sur JC?

Merci
Bonne journée

Salut,
j’ai ajouté le chemin pour here.html, car il est utilisé pour vérifier la santé du plugin. Je n’ai pas retenté en faisant le ménage pour la partie here.html.

Et la partie socket, parce que je passe en connexion socket avec JConnect
Et je lui passe des infos nécessaires à priori dans les header (j’ai pompé sur Home Assistant qui utilise aussi des sockets)

Pour les icones perso, je n’ai pas ça, jaime que Jeedom soit au plus simple. Ca m’arrange à priori sur ce coup ci :slight_smile: