Service web avec Domoticz (Raspberry)
-
jackslayter
- Messages : 1040
- Inscription : 30 sept. 2014, 14:40
- Localisation : Isère (38)
Re: Service web avec Domoticz (Raspberry)
le VPN tu l'active que lorsque tu veux accéder à ton réseau, de plus tu ne passe pas par lui pour aller sur internet.
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
Re: Service web avec Domoticz (Raspberry)
Au temps pour moi ... je suis parti bille en tête sur une conf https (qui crypte bien quand même entre le client et le serveurJC38 a écrit :...Le fait de passer en SSL n'empêchera pas n'importe qui connait l'url de retrouver des infos confidentielles ...
J'avais oublié qu'effectivement ImperiHome propose un user/mdp, je suppose qu'il gère a minima Basic Authentication, dans ce cas nginx permet de le faire -> https://www.digitalocean.com/community/ ... untu-12-10
Comment le mettre en oeuvre dans ton cas ? J'ai peur de te dire des anneries, je n'ai pas de nginx sous la main. A priori, je créerai une section location /imperihome (par exemple) contenant les directives de proxy vers 3001 + auth_basic ... dans la section serveur par defaut de nginx (port 80 a priori). Du coup http://<...>/imperihome serait redirigé vers MyImperiHome et protégé par mot de passe, url a donner ensuite a Imperihome avec user/pwd pour l'adresse du serveur.
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
Re: Service web avec Domoticz (Raspberry)
Rimram : Dans sa page wiki sur Domoticz, epierre indique une config pour nginx en bas de sa page http://domoticz.com/wiki/ImperiHome.
Mais pour moi, il fait référence à une config "ancienne" avec un domoticz passant par nginx. Aujourd'hui, il ne faudrait plus qu'une conf pour MyDomoAtHome passant par nginx.
J'ai donc essayé de constituer un fichier de conf nommé mdat, mais je ne l'ai pas encore essayé car je pense qu'il est faux et incomplet.
location /iss/ --> à quoi cela doit correspondre
j'ai un doute sur le port du listen, il devrait être différent de celui auquel on transfert le flux http non (proxy_pass) ?
Je suis désolé, je pars vraiment de loin même si je suis familier avec les systèmes informatiques, mais débutant en linux.
Mais pour moi, il fait référence à une config "ancienne" avec un domoticz passant par nginx. Aujourd'hui, il ne faudrait plus qu'une conf pour MyDomoAtHome passant par nginx.
J'ai donc essayé de constituer un fichier de conf nommé mdat, mais je ne l'ai pas encore essayé car je pense qu'il est faux et incomplet.
location /iss/ --> à quoi cela doit correspondre
j'ai un doute sur le port du listen, il devrait être différent de celui auquel on transfert le flux http non (proxy_pass) ?
Je suis désolé, je pars vraiment de loin même si je suis familier avec les systèmes informatiques, mais débutant en linux.
Code : Tout sélectionner
access_log off;
add_header Cache-Control public;
server_tokens off;
server {
include /etc/nginx/proxy_params;
listen 3001;
keepalive_timeout 70;
server_name localhost;
add_header X-Frame-Options SAMEORIGIN;
location /iss/ {
proxy_pass http://localhost:3001/;
auth_basic "Access Restricted";
auth_basic_user_file "/etc/nginx/.htpasswd";
access_log /var/log/nginx/mdat.access.log;
error_log /var/log/nginx/mdat.error.log;
}
}Raspberry Pi3 sous Jessie 8.3 + Domoticz latest beta + RFXComm Usb + Aeon Labs Z-Stick + Weather Underground
Windows Server 2012 R2 + Domoticz Windows (latest) + Open Hardware Monitor
Clients : ImperiHome avec Mdah / Domoticz for Android
Windows Server 2012 R2 + Domoticz Windows (latest) + Open Hardware Monitor
Clients : ImperiHome avec Mdah / Domoticz for Android
Re: Service web avec Domoticz (Raspberry)
La configuration dans le wiki est ce a quoi je pensais, une directive location qui permet d'inclure une directive de restriction d'accès -> auth_basic qui va faire ce que tu veux. La configuration donnée par epierre dans ce wiki est valide et fait ce que je te disais.
Du coup tu me fais apprendre comment nginx gère sa conf (c'est apache que je connais bien
). Un serveur http comme apache ou nginx est capable de gérer/écouter plusieurs ports et aussi répondre a plusieurs "server name" (http://<server name>....), en nginx tu utiliseras une section server pour ça ou tu mettras ces deux informations et éventuellement d'autre éléments de configuration.
Au sein de cette directive server tu peux mettre des directives location qui vont te permettre de décrire différentes "sections" sorte de "sous répertoire" de ton site. Le paramètre qui suit location dans le location /iss/ par exemple, ici /iss/ est la partie d'url qui va être gérée par le serveur et répondre aux directives de la section location correspondante. Quand tu taperas http://<ton serveur name>:<port>/iss/... nginx va appliquer la section server correspondante a serveur name et port et la section location correspondante a ce qui suit dans l'url.
Un serveur web peut servir ainsi de "point d'entrée" sur des urls http://monserver:... avec différentes sous sections redirigeant a différents endroits (chemin de fichier), programmes (php, perl, java, ...) ou d'autres serveurs http via la directive proxy qui est celle qui nous intéresse.
Donc
pour revenir a ta configuration ... OU tu ajoutes comme tu l'as fais une nouvelle section server mais tu prends un autre numéro de port que celui déjà utilisé par mydomoathome ou tout autre programme d'ailleurs sur ta machine (deux "programmes" ne peuvent pas utiliser le même numéro de port), c'est le port qui sera celui "vu" par ImperiHome. OU tu ajoutes la section location telle que décrite par epierre dans le wiki a une section server déjà existante.
A priori nginx est "livré" avec une section server "par defaut" qui est probablement sur le port 80 ou 8080, section que tu peux utiliser en l'adaptant.
Dans ton cas, c'est domoticz qui gérera le port 8080 "de l'extérieur" et nginx un autre port (ni 8080, ni 3001 ...) pour renvoyer vers MyDomoAtHome -> localhost:3001 (de serveur a serveur là) en te permettant de protéger l'accès par un username/pwd, ce que ne fait pas MyDomoAtHome, d'ou l'utilisation de cette technique. Attention c'est l'url "vue" de l'extérieur qu'il faudra utiliser pour le client ImperiHome: http://<ton serveur>:<port>/iss/ (location).
Prends un peu de temps a potasser de la documentation nginx et/ou des exemples de configuration http://nginx.org/en/docs/beginners_guide.html qui t'expliqueront plus en détail.
Du coup tu me fais apprendre comment nginx gère sa conf (c'est apache que je connais bien
Au sein de cette directive server tu peux mettre des directives location qui vont te permettre de décrire différentes "sections" sorte de "sous répertoire" de ton site. Le paramètre qui suit location dans le location /iss/ par exemple, ici /iss/ est la partie d'url qui va être gérée par le serveur et répondre aux directives de la section location correspondante. Quand tu taperas http://<ton serveur name>:<port>/iss/... nginx va appliquer la section server correspondante a serveur name et port et la section location correspondante a ce qui suit dans l'url.
Un serveur web peut servir ainsi de "point d'entrée" sur des urls http://monserver:... avec différentes sous sections redirigeant a différents endroits (chemin de fichier), programmes (php, perl, java, ...) ou d'autres serveurs http via la directive proxy qui est celle qui nous intéresse.
Donc
A priori nginx est "livré" avec une section server "par defaut" qui est probablement sur le port 80 ou 8080, section que tu peux utiliser en l'adaptant.
Dans ton cas, c'est domoticz qui gérera le port 8080 "de l'extérieur" et nginx un autre port (ni 8080, ni 3001 ...) pour renvoyer vers MyDomoAtHome -> localhost:3001 (de serveur a serveur là) en te permettant de protéger l'accès par un username/pwd, ce que ne fait pas MyDomoAtHome, d'ou l'utilisation de cette technique. Attention c'est l'url "vue" de l'extérieur qu'il faudra utiliser pour le client ImperiHome: http://<ton serveur>:<port>/iss/ (location).
Prends un peu de temps a potasser de la documentation nginx et/ou des exemples de configuration http://nginx.org/en/docs/beginners_guide.html qui t'expliqueront plus en détail.
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
Re: Service web avec Domoticz (Raspberry)
Bonsoir,
Je commence à voir le bout du tunnel. Le login/password est bien demandé mais je l'ai désactivé, le temps de franchir une nouvelle étape.
Pour info, voici le fichier de conf qui m'a permis de passer de nginx à mdat
Avec ces réglages, j'ai bien mdat directement sur le port 8000.
Sur l'url http://mylanip:8000/ (bien mettre le / à la fin) , je suis sur le site de mdat sinon avec http://mylanip:8000, je tombe logiquement sur nginx
Imperihome fonctionne donc en utilisant la même url qu'avec Iss-Domo, ça c'est parfait (bien sur, il faut changer le port d'Iss-domo ou l'arrêter).
Ce qui l'est moins, c'est que je ne peux pas éditer la config du système dans Imperihome, car malgré la même url, il voit (croit) que j'ai changé de système et me demande de refaire une conf complète.
Je pense que cela vient de ce qu'on trouve dans le début des données renvoyées par http://mylanip:8000/devices. Il doit y avoir moyen de changer cela quelque part du côté de MyDomoAtHome pour le faire passer pour Iss-Domo aux yeux de Imperihome, mais le pb, c'est que même si j'ai conservé Iss-domo, il ne fonctionne plus correctement depuis le passage à Jessie, je ne peux donc pas comparer les 2 pour savoir quelles valeurs changer. Si quelqu'un à Iss-Domo, je suis preneur des premières lignes de valeurs retournées.
Je commence à voir le bout du tunnel. Le login/password est bien demandé mais je l'ai désactivé, le temps de franchir une nouvelle étape.
Pour info, voici le fichier de conf qui m'a permis de passer de nginx à mdat
Code : Tout sélectionner
access_log off;
add_header Cache-Control public;
server_tokens off;
server {
include /etc/nginx/proxy_params;
listen 8000;
keepalive_timeout 70;
server_name localhost;
add_header X-Frame-Options SAMEORIGIN;
location / {
proxy_pass http://localhost:3001/;
#auth_basic "Access Restricted";
#auth_basic_user_file "/etc/nginx/.htpasswd";
access_log /var/log/nginx/mdat.access.log;
error_log /var/log/nginx/mdat.error.log;
}
}Sur l'url http://mylanip:8000/ (bien mettre le / à la fin) , je suis sur le site de mdat sinon avec http://mylanip:8000, je tombe logiquement sur nginx
Imperihome fonctionne donc en utilisant la même url qu'avec Iss-Domo, ça c'est parfait (bien sur, il faut changer le port d'Iss-domo ou l'arrêter).
Ce qui l'est moins, c'est que je ne peux pas éditer la config du système dans Imperihome, car malgré la même url, il voit (croit) que j'ai changé de système et me demande de refaire une conf complète.
Je pense que cela vient de ce qu'on trouve dans le début des données renvoyées par http://mylanip:8000/devices. Il doit y avoir moyen de changer cela quelque part du côté de MyDomoAtHome pour le faire passer pour Iss-Domo aux yeux de Imperihome, mais le pb, c'est que même si j'ai conservé Iss-domo, il ne fonctionne plus correctement depuis le passage à Jessie, je ne peux donc pas comparer les 2 pour savoir quelles valeurs changer. Si quelqu'un à Iss-Domo, je suis preneur des premières lignes de valeurs retournées.
Raspberry Pi3 sous Jessie 8.3 + Domoticz latest beta + RFXComm Usb + Aeon Labs Z-Stick + Weather Underground
Windows Server 2012 R2 + Domoticz Windows (latest) + Open Hardware Monitor
Clients : ImperiHome avec Mdah / Domoticz for Android
Windows Server 2012 R2 + Domoticz Windows (latest) + Open Hardware Monitor
Clients : ImperiHome avec Mdah / Domoticz for Android
Re: Service web avec Domoticz (Raspberry)
Je continue avec quelques nouvellles infos sur le fonctionnement d'Imperihome et les passerelles ISS
Imperihome interroge l'url de la passerelle avec cette url http://ip:port/system (ip:port = passerelle ISS)
Iss-Domo repond :
Quand MyDomoAtHome répond :
Il "suffirait" donc de renvoyer l'ID connu par ImperiHome pour que son wizard laisse modifier sa config. 
Imperihome interroge l'url de la passerelle avec cette url http://ip:port/system (ip:port = passerelle ISS)
Iss-Domo repond :
Code : Tout sélectionner
{
id: "ISS-Domo",
apiversion: 1
}Code : Tout sélectionner
{
id: "MyDomoAtHome",
apiversion: 1
}Raspberry Pi3 sous Jessie 8.3 + Domoticz latest beta + RFXComm Usb + Aeon Labs Z-Stick + Weather Underground
Windows Server 2012 R2 + Domoticz Windows (latest) + Open Hardware Monitor
Clients : ImperiHome avec Mdah / Domoticz for Android
Windows Server 2012 R2 + Domoticz Windows (latest) + Open Hardware Monitor
Clients : ImperiHome avec Mdah / Domoticz for Android
Re: Service web avec Domoticz (Raspberry)
Pb résolu
viewtopic.php?f=12&t=573&start=170#p14694
Maintenant, reste plus qu'à voir si on peut forcer Imperihome à communiquer en SSL avec nginx
viewtopic.php?f=12&t=573&start=170#p14694
Maintenant, reste plus qu'à voir si on peut forcer Imperihome à communiquer en SSL avec nginx
Raspberry Pi3 sous Jessie 8.3 + Domoticz latest beta + RFXComm Usb + Aeon Labs Z-Stick + Weather Underground
Windows Server 2012 R2 + Domoticz Windows (latest) + Open Hardware Monitor
Clients : ImperiHome avec Mdah / Domoticz for Android
Windows Server 2012 R2 + Domoticz Windows (latest) + Open Hardware Monitor
Clients : ImperiHome avec Mdah / Domoticz for Android
Re: Service web avec Domoticz (Raspberry)
Content que tu ais réussi a t'en dépetrer
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
Re: Service web avec Domoticz (Raspberry)
oui j'y arrive anec NGINXJC38 a écrit :Pb résolu
viewtopic.php?f=12&t=573&start=170#p14694
Maintenant, reste plus qu'à voir si on peut forcer Imperihome à communiquer en SSL avec nginx
Imperihome & Domoticz: MyDomoAtHome !
eedomus+ - Domoticz - MySensors
zigbee zwave nrf24l rfx
eedomus+ - Domoticz - MySensors
zigbee zwave nrf24l rfx