Websocket / WSS non fonctionnel

Hello à tous,

Je tente d’utiliser le websocket sur mon install ; j’ai lu les topics ici et la doc (qui manque de détails sur ce point précis je trouve) mais sans résultat.

Mon install :

  • DNS chez Cloudflare, avec la gestion SSL complète (Procède à un chiffrement de bout en bout à l’aide d’un certificat auto-signé du serveur.)
  • Apache sur mon Jeedom
<VirtualHost *:443>
        ServerName xxx.com

        SSLProxyEngine on
        ProxyPass / http://127.0.0.1:800/
        ProxyPassReverse / http://127.0.0.1:800/
        ProxyRequests Off

        ErrorLog /var/log/apache2/home.error.log

        # Jeeconnect via websocket
        RewriteEngine on
        RewriteCond %{HTTP:Upgrade} websocket [NC]
        RewriteCond %{HTTP:Connection} upgrade [NC]
        RewriteRule ^/?(.*) "ws://127.0.0.1:8090/$1" [P,L]

</VirtualHost>

En https : OK
En websocket :

[Fri Aug 26 12:58:25.813884 2022] [ssl:debug] [pid 16931] ssl_engine_kernel.c(383): [client 2a01:cb1a:4049:2b27:d47a:18df:37a9:edc8:0] AH02034: Initial (No.1) HTTPS request received for child 3 (server xxx.com:80)
[Fri Aug 26 12:58:25.814057 2022] [authz_core:debug] [pid 16931] mod_authz_core.c(846): [client 2a01:cb1a:4049:2b27:d47a:18df:37a9:edc8:0] AH01628: authorization result: granted (no directives)
[Fri Aug 26 12:58:25.814164 2022] [proxy:debug] [pid 16931] mod_proxy.c(1250): [client 2a01:cb1a:4049:2b27:d47a:18df:37a9:edc8:0] AH01143: Running scheme http handler (attempt 0)
[Fri Aug 26 12:58:25.814194 2022] [proxy:debug] [pid 16931] proxy_util.c(2332): AH00942: HTTP: has acquired connection for (127.0.0.1)
[Fri Aug 26 12:58:25.814222 2022] [proxy:debug] [pid 16931] proxy_util.c(2385): [client 2a01:cb1a:4049:2b27:d47a:18df:37a9:edc8:0] AH00944: connecting http://127.0.0.1:800/plugins/JeedomConnect/core/api/JeedomConnect.api.php to 127.0.0.1:800
[Fri Aug 26 12:58:25.814245 2022] [proxy:debug] [pid 16931] proxy_util.c(2594): [client 2a01:cb1a:4049:2b27:d47a:18df:37a9:edc8:0] AH00947: connected /plugins/JeedomConnect/core/api/JeedomConnect.api.php to 127.0.0.1:800
[Fri Aug 26 12:58:25.814600 2022] [proxy:debug] [pid 16931] proxy_util.c(2895): AH00951: HTTP: backend socket is disconnected.
[Fri Aug 26 12:58:25.814997 2022] [proxy:debug] [pid 16931] proxy_util.c(3063): AH02824: HTTP: connection established with 127.0.0.1:800 (127.0.0.1)
[Fri Aug 26 12:58:25.815091 2022] [proxy:debug] [pid 16931] proxy_util.c(3231): AH00962: HTTP: connection complete to 127.0.0.1:800 (127.0.0.1)
[Fri Aug 26 12:58:25.839771 2022] [proxy:debug] [pid 16931] proxy_util.c(2347): AH00943: http: has released connection for (127.0.0.1)
[Fri Aug 26 12:58:25.842006 2022] [proxy:debug] [pid 17502] proxy_util.c(2347): AH00943: http: has released connection for (127.0.0.1)

Du coup j’ai du mal à expliquer le OK en testant sur le web vs le KO dans l’application iOS via la 4G …

Une idée ?

NB : y a t’il une url de healthcheck coté websocket pour être sur que tout est ok lorsqu’on va dessus ?

Merci

3 messages ont été fusionnés à un sujet existant : Comment passer en wss (Web Socket Secure)?

Hello à tous,

Je tente d’utiliser le websocket sur mon install ; j’ai lu les topics ici et la doc (qui manque de détails sur ce point précis je trouve) mais sans résultat.

Mon install :

  • DNS chez Cloudflare, avec la gestion SSL complète (Procède à un chiffrement de bout en bout à l’aide d’un certificat auto-signé du serveur.)
  • Apache sur mon Jeedom
<VirtualHost *:443>
        ServerName xxx.com

        SSLProxyEngine on
        ProxyPass / http://127.0.0.1:800/
        ProxyPassReverse / http://127.0.0.1:800/
        ProxyRequests Off

        ErrorLog /var/log/apache2/home.error.log

        # Jeeconnect via websocket
        RewriteEngine on
        RewriteCond %{HTTP:Upgrade} websocket [NC]
        RewriteCond %{HTTP:Connection} upgrade [NC]
        RewriteRule ^/?(.*) "ws://127.0.0.1:8090/$1" [P,L]

</VirtualHost>

En https : OK
En websocket :

[Fri Aug 26 12:58:25.813884 2022] [ssl:debug] [pid 16931] ssl_engine_kernel.c(383): [client 2a01:cb1a:4049:2b27:d47a:18df:37a9:edc8:0] AH02034: Initial (No.1) HTTPS request received for child 3 (server xxx.com:80)
[Fri Aug 26 12:58:25.814057 2022] [authz_core:debug] [pid 16931] mod_authz_core.c(846): [client 2a01:cb1a:4049:2b27:d47a:18df:37a9:edc8:0] AH01628: authorization result: granted (no directives)
[Fri Aug 26 12:58:25.814164 2022] [proxy:debug] [pid 16931] mod_proxy.c(1250): [client 2a01:cb1a:4049:2b27:d47a:18df:37a9:edc8:0] AH01143: Running scheme http handler (attempt 0)
[Fri Aug 26 12:58:25.814194 2022] [proxy:debug] [pid 16931] proxy_util.c(2332): AH00942: HTTP: has acquired connection for (127.0.0.1)
[Fri Aug 26 12:58:25.814222 2022] [proxy:debug] [pid 16931] proxy_util.c(2385): [client 2a01:cb1a:4049:2b27:d47a:18df:37a9:edc8:0] AH00944: connecting http://127.0.0.1:800/plugins/JeedomConnect/core/api/JeedomConnect.api.php to 127.0.0.1:800
[Fri Aug 26 12:58:25.814245 2022] [proxy:debug] [pid 16931] proxy_util.c(2594): [client 2a01:cb1a:4049:2b27:d47a:18df:37a9:edc8:0] AH00947: connected /plugins/JeedomConnect/core/api/JeedomConnect.api.php to 127.0.0.1:800
[Fri Aug 26 12:58:25.814600 2022] [proxy:debug] [pid 16931] proxy_util.c(2895): AH00951: HTTP: backend socket is disconnected.
[Fri Aug 26 12:58:25.814997 2022] [proxy:debug] [pid 16931] proxy_util.c(3063): AH02824: HTTP: connection established with 127.0.0.1:800 (127.0.0.1)
[Fri Aug 26 12:58:25.815091 2022] [proxy:debug] [pid 16931] proxy_util.c(3231): AH00962: HTTP: connection complete to 127.0.0.1:800 (127.0.0.1)
[Fri Aug 26 12:58:25.839771 2022] [proxy:debug] [pid 16931] proxy_util.c(2347): AH00943: http: has released connection for (127.0.0.1)
[Fri Aug 26 12:58:25.842006 2022] [proxy:debug] [pid 17502] proxy_util.c(2347): AH00943: http: has released connection for (127.0.0.1)

Du coup j’ai du mal à expliquer le OK en testant sur le web vs le KO dans l’application iOS via la 4G …

Une idée ?

NB : y a t’il une url de healthcheck coté websocket pour être sur que tout est ok lorsqu’on va dessus ?

Merci

Est ce qu un modo peut merger ce sujet avec celui existant svp …?
@Mips @Fabrice

Il manque les info de JC

Ensuite il y a quelques semaines il y a eu un sujet sur le WSS, les réponses ont été données

1 « J'aime »

Euh…?!

Pourquoi pas merger mais je trouve que mon post pollue l’original plus qu’autre chose.

Toutes les infos ont été données en tout cas :thinking:

l’objectif du post est (comme son nom l’indique) « comment configurer une connexion websocket secure »

ton post indique « je n’arrive pas à me connecter en websocket secure »

ca ne te semble pas suffisamment lié pour être mergé ?
:thinking:


2 configurations qui fonctionnent sont proposées sur ce post. pourquoi ne pas simplement les essayer ?

d’autres part, sans être un pro de la conf apache, tu indiques vouloir mettre en place une connexion sécurisée, mais à aucun moment dans la conf tu n’indiques le liens vers les certificats. ca va pas poser de probleme !?

Et bien non car j’ai préciser que la terminaison SSL était réalisée côté Cloudflare :stuck_out_tongue_winking_eye:

Ici on fait juste un proxy https vers le websocket la configuration que j’ai est celle officielle de Apache pour ce genre de besoin :grinning:

C est exactement ce que je fais
Sauf que jai quand meme les infos des certificats

Faut peut etre pinguer Apache alors :wink:

D’autre idées ? Apparemment @tomitomas a plus d’humour qu’autre chose :thinking:

Bonjour,

Puisque on est dans l’humour, je veux bien le lien vers la documentation Apache qui montre un reverse proxy https sans certificat.

Si la terminaison TLS est chez Cloudfare, comment se fait la communication entre eux et ton jeedom ?

Alors voici la conf coté CloudFlare

Et le résultat lorsque je consulte mon jeedom sur le web

SSL Labs test :

No problemo :wink:

Sauf que là c’est ce qui est vu de l’extérieur. Par contre, ta conf Apache, ce n’est pas celle de Cloudfare mais celle de jeedom ou d’un autre reverse proxy ?

Si je comprends bien tes belles copies d’écran, tu as un certificat auto-signé côté jeedom ?

Le plus simple serait quand même d’avoir la configuration complète de ton Apache (en tout cas,si tu veux de l’aide de ma part…)

PS : tu ne m’as pas fourni le lien demandé …

2 « J'aime »

Hello,

La conf complète est plus haut mais la revoici + le vhost qui sert le jeedom sur le 800 :

<VirtualHost *:443>
        ServerName xxx.com

        SSLProxyEngine on
        ProxyPass / http://127.0.0.1:800/
        ProxyPassReverse / http://127.0.0.1:800/
        ProxyRequests Off

        ErrorLog /var/log/apache2/home.error.log

        # Jeeconnect via websocket
        RewriteEngine on
        RewriteCond %{HTTP:Upgrade} websocket [NC]
        RewriteCond %{HTTP:Connection} upgrade [NC]
        RewriteRule ^/?(.*) "ws://127.0.0.1:8090/$1" [P,L]

</VirtualHost>

<VirtualHost *:800>
        DocumentRoot /var/www/html
        ErrorLog /var/www/html/log/http.error
</VirtualHost>

La doc RP WSS Apache est ici.

Merci

1 « J'aime »

EDIT : en lisant Observations bug sur le mode de connexion - Plugins / Communication - Communauté Jeedom je me suis dis que en effet sortir les logs côté appli serait une bonne chose ! :smiley:

Les voici, avec l’API Key obfusquée (et en 4G avec WS activé)
De ma compréhension le souci vient du fait que l’appli tente toujours de communiquer via l’IP locale (192.168.1.200:800) :confused:

14:42:29 | DEBUG | [urlProvider] Next url EXTERNAL
14:42:29 | ERROR | Error in sendToJcApi {"message":"Network Error","name":"AxiosError","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{"FormData":null},"headers":{"Accept":"application/json, text/plain, */*","Content-Type":"application/json"},"cancelToken":{"promise":{"_h":1,"_i":0,"_j":null,"_k":{"onRejected":null,"promise":{"_h":0,"_i":0,"_j":null,"_k":null}}},"_listeners":[null]},"method":"post","url":"http://192.168.1.200:800/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":"{\"method\":\"PING\",\"jsonrpc\":\"2.0\",\"id\":1661953349185,\"params\":{\"apiKey\":\"xxx\"}}"},"code":"ERR_NETWORK","status":null}
14:42:29 | INFO | [ConnectionManager] onClose
14:42:29 | ERROR | [ws] onError L’opération n’a pas pu s’achever. (OSStatus erreur -9836.) 1
14:42:29 | ERROR | onConnectionError {"payload":"L’opération n’a pas pu s’achever. (OSStatus erreur -9836.)"}
14:42:29 | ERROR | [Connection error {"payload":"L’opération n’a pas pu s’achever. (OSStatus erreur -9836.)"}
14:42:30 | DEBUG | [urlProvider] Next url EXTERNAL
14:42:30 | ERROR | [ws] onError L’opération n’a pas pu s’achever. (OSStatus erreur -9836.) 2
14:42:31 | DEBUG | [urlProvider] Next url EXTERNAL
14:42:31 | ERROR | [ws] onError L’opération n’a pas pu s’achever. (OSStatus erreur -9836.) 3
14:42:32 | DEBUG | [urlProvider] force netInfos refresh
14:42:32 | DEBUG | net settings : {"type":"cellular","isConnected":true,"details":{"cellularGeneration":"4g","isConnectionExpensive":true,"carrier":"Orange France"},"isInternetReachable":true}
14:42:32 | DEBUG | sendToJcApi  {"url":"http://192.168.1.200:800/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":{"method":"PING","jsonrpc":"2.0","id":1661953352911,"params":{"apiKey":"xxx"}},"baseUrl":"http://192.168.1.200:800"}
14:42:32 | DEBUG | [urlProvider] Next url EXTERNAL
14:42:32 | ERROR | Error in sendToJcApi {"message":"Network Error","name":"AxiosError","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{"FormData":null},"headers":{"Accept":"application/json, text/plain, */*","Content-Type":"application/json"},"cancelToken":{"promise":{"_h":1,"_i":0,"_j":null,"_k":{"onRejected":null,"promise":{"_h":0,"_i":0,"_j":null,"_k":null}}},"_listeners":[null]},"method":"post","url":"http://192.168.1.200:800/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":"{\"method\":\"PING\",\"jsonrpc\":\"2.0\",\"id\":1661953352911,\"params\":{\"apiKey\":\"xxx\"}}"},"code":"ERR_NETWORK","status":null}
14:42:33 | ERROR | [ws] onError L’opération n’a pas pu s’achever. (OSStatus erreur -9836.) 4
14:42:34 | DEBUG | [urlProvider] Next url EXTERNAL
14:42:34 | ERROR | [ws] onError L’opération n’a pas pu s’achever. (OSStatus erreur -9836.) 5
14:42:35 | DEBUG | [urlProvider] force netInfos refresh
14:42:35 | DEBUG | net settings : {"type":"cellular","isConnected":true,"details":{"cellularGeneration":"4g","isConnectionExpensive":true,"carrier":"Orange France"},"isInternetReachable":true}
14:42:35 | DEBUG | sendToJcApi  {"url":"http://192.168.1.200:800/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":{"method":"PING","jsonrpc":"2.0","id":1661953355951,"params":{"apiKey":"xxx"}},"baseUrl":"http://192.168.1.200:800"}
14:42:35 | DEBUG | [urlProvider] Next url EXTERNAL
14:42:35 | ERROR | Error in sendToJcApi {"message":"Network Error","name":"AxiosError","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{"FormData":null},"headers":{"Accept":"application/json, text/plain, */*","Content-Type":"application/json"},"cancelToken":{"promise":{"_h":1,"_i":0,"_j":null,"_k":{"onRejected":null,"promise":{"_h":0,"_i":0,"_j":null,"_k":null}}},"_listeners":[null]},"method":"post","url":"http://192.168.1.200:800/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":"{\"method\":\"PING\",\"jsonrpc\":\"2.0\",\"id\":1661953355951,\"params\":{\"apiKey\":\"xxx\"}}"},"code":"ERR_NETWORK","status":null}
14:42:36 | ERROR | [ws] onError L’opération n’a pas pu s’achever. (OSStatus erreur -9836.) 6
14:42:37 | DEBUG | [urlProvider] force netInfos refresh
14:42:37 | DEBUG | net settings : {"type":"cellular","isConnected":true,"details":{"cellularGeneration":"4g","isConnectionExpensive":true,"carrier":"Orange France"},"isInternetReachable":true}
14:42:37 | DEBUG | sendToJcApi  {"url":"http://192.168.1.200:800/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":{"method":"PING","jsonrpc":"2.0","id":1661953357718,"params":{"apiKey":"xxx"}},"baseUrl":"http://192.168.1.200:800"}
14:42:37 | DEBUG | [urlProvider] Next url EXTERNAL
14:42:37 | ERROR | Error in sendToJcApi {"message":"Network Error","name":"AxiosError","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{"FormData":null},"headers":{"Accept":"application/json, text/plain, */*","Content-Type":"application/json"},"cancelToken":{"promise":{"_h":1,"_i":0,"_j":null,"_k":{"onRejected":null,"promise":{"_h":0,"_i":0,"_j":null,"_k":null}}},"_listeners":[null]},"method":"post","url":"http://192.168.1.200:800/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":"{\"method\":\"PING\",\"jsonrpc\":\"2.0\",\"id\":1661953357718,\"params\":{\"apiKey\":\"xxx\"}}"},"code":"ERR_NETWORK","status":null}
14:42:37 | ERROR | [ws] onError L’opération n’a pas pu s’achever. (OSStatus erreur -9836.) 7
14:42:39 | DEBUG | [urlProvider] Next url EXTERNAL
14:42:39 | ERROR | [ws] onError L’opération n’a pas pu s’achever. (OSStatus erreur -9836.) 8
14:42:41 | DEBUG | [urlProvider] Next url EXTERNAL
14:42:41 | ERROR | [ws] onError L’opération n’a pas pu s’achever. (OSStatus erreur -9836.) 9
14:42:43 | DEBUG | [urlProvider] force netInfos refresh
14:42:43 | DEBUG | net settings : {"type":"cellular","isConnected":true,"details":{"cellularGeneration":"4g","isConnectionExpensive":true,"carrier":"Orange France"},"isInternetReachable":true}
14:42:43 | DEBUG | sendToJcApi  {"url":"http://192.168.1.200:800/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":{"method":"PING","jsonrpc":"2.0","id":1661953363989,"params":{"apiKey":"xxx"}},"baseUrl":"http://192.168.1.200:800"}
14:42:43 | DEBUG | [urlProvider] Next url EXTERNAL
14:42:44 | ERROR | Error in sendToJcApi {"message":"Network Error","name":"AxiosError","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{"FormData":null},"headers":{"Accept":"application/json, text/plain, */*","Content-Type":"application/json"},"cancelToken":{"promise":{"_h":1,"_i":0,"_j":null,"_k":{"onRejected":null,"promise":{"_h":0,"_i":0,"_j":null,"_k":null}}},"_listeners":[null]},"method":"post","url":"http://192.168.1.200:800/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":"{\"method\":\"PING\",\"jsonrpc\":\"2.0\",\"id\":1661953363989,\"params\":{\"apiKey\":\"xxx\"}}"},"code":"ERR_NETWORK","status":null}
14:42:44 | ERROR | [ws] onError L’opération n’a pas pu s’achever. (OSStatus erreur -9836.) 10
14:42:46 | DEBUG | [urlProvider] Next url EXTERNAL
14:42:46 | ERROR | [ws] onError L’opération n’a pas pu s’achever. (OSStatus erreur -9836.) 11
14:42:49 | DEBUG | [urlProvider] Next url EXTERNAL
14:42:49 | ERROR | [ws] onError L’opération n’a pas pu s’achever. (OSStatus erreur -9836.) 12
14:42:52 | DEBUG | [urlProvider] Next url EXTERNAL
14:42:52 | ERROR | [ws] onError L’opération n’a pas pu s’achever. (OSStatus erreur -9836.) 13
14:42:55 | DEBUG | [urlProvider] force netInfos refresh
14:42:55 | DEBUG | net settings : {"type":"cellular","isConnected":true,"details":{"cellularGeneration":"4g","isConnectionExpensive":true,"carrier":"Orange France"},"isInternetReachable":true}
14:42:55 | DEBUG | sendToJcApi  {"url":"http://192.168.1.200:800/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":{"method":"PING","jsonrpc":"2.0","id":1661953375323,"params":{"apiKey":"xxx"}},"baseUrl":"http://192.168.1.200:800"}
14:42:55 | DEBUG | [urlProvider] Next url EXTERNAL
14:42:55 | ERROR | Error in sendToJcApi {"message":"Network Error","name":"AxiosError","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{"FormData":null},"headers":{"Accept":"application/json, text/plain, */*","Content-Type":"application/json"},"cancelToken":{"promise":{"_h":1,"_i":0,"_j":null,"_k":{"onRejected":null,"promise":{"_h":0,"_i":0,"_j":null,"_k":null}}},"_listeners":[null]},"method":"post","url":"http://192.168.1.200:800/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":"{\"method\":\"PING\",\"jsonrpc\":\"2.0\",\"id\":1661953375323,\"params\":{\"apiKey\":\"xxx\"}}"},"code":"ERR_NETWORK","status":null}
14:42:55 | ERROR | [ws] onError L’opération n’a pas pu s’achever. (OSStatus erreur -9836.) 14
14:42:58 | DEBUG | [urlProvider] Next url EXTERNAL
14:42:58 | ERROR | [ws] onError L’opération n’a pas pu s’achever. (OSStatus erreur -9836.) 15
14:43:01 | DEBUG | [urlProvider] force netInfos refresh
14:43:01 | DEBUG | net settings : {"type":"cellular","isConnected":true,"details":{"cellularGeneration":"4g","isConnectionExpensive":true,"carrier":"Orange France"},"isInternetReachable":true}
14:43:01 | DEBUG | sendToJcApi  {"url":"http://192.168.1.200:800/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":{"method":"PING","jsonrpc":"2.0","id":1661953381618,"params":{"apiKey":"xxx"}},"baseUrl":"http://192.168.1.200:800"}
14:43:01 | DEBUG | [urlProvider] Next url EXTERNAL
14:43:01 | ERROR | Error in sendToJcApi {"message":"Network Error","name":"AxiosError","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{"FormData":null},"headers":{"Accept":"application/json, text/plain, */*","Content-Type":"application/json"},"cancelToken":{"promise":{"_h":1,"_i":0,"_j":null,"_k":{"onRejected":null,"promise":{"_h":0,"_i":0,"_j":null,"_k":null}}},"_listeners":[null]},"method":"post","url":"http://192.168.1.200:800/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":"{\"method\":\"PING\",\"jsonrpc\":\"2.0\",\"id\":1661953381618,\"params\":{\"apiKey\":\"xxx\"}}"},"code":"ERR_NETWORK","status":null}
14:43:01 | ERROR | [ws] onError L’opération n’a pas pu s’achever. (OSStatus erreur -9836.) 16
14:43:04 | DEBUG | [urlProvider] force netInfos refresh
14:43:04 | DEBUG | net settings : {"type":"cellular","isConnected":true,"details":{"cellularGeneration":"4g","isConnectionExpensive":true,"carrier":"Orange France"},"isInternetReachable":true}
14:43:04 | DEBUG | sendToJcApi  {"url":"http://192.168.1.200:800/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":{"method":"PING","jsonrpc":"2.0","id":1661953384768,"params":{"apiKey":"xxx"}},"baseUrl":"http://192.168.1.200:800"}
14:43:04 | DEBUG | [urlProvider] Next url EXTERNAL
14:43:04 | ERROR | Error in sendToJcApi {"message":"Network Error","name":"AxiosError","config":{"transitional":{"silentJSONParsing":true,"forcedJSONParsing":true,"clarifyTimeoutError":false},"transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"env":{"FormData":null},"headers":{"Accept":"application/json, text/plain, */*","Content-Type":"application/json"},"cancelToken":{"promise":{"_h":1,"_i":0,"_j":null,"_k":{"onRejected":null,"promise":{"_h":0,"_i":0,"_j":null,"_k":null}}},"_listeners":[null]},"method":"post","url":"http://192.168.1.200:800/plugins/JeedomConnect/core/api/JeedomConnect.api.php","data":"{\"method\":\"PING\",\"jsonrpc\":\"2.0\",\"id\":1661953384768,\"params\":{\"apiKey\":\"xxx\"}}"},"code":"ERR_NETWORK","status":null}
14:43:04 | ERROR | [ws] onError L’opération n’a pas pu s’achever. (OSStatus erreur -9836.) 17
14:43:07 | DEBUG | [urlProvider] Next url EXTERNAL
14:43:08 | ERROR | [ws] onError L’opération n’a pas pu s’achever. (OSStatus erreur -9836.) 18
14:43:11 | DEBUG | [urlProvider] Next url EXTERNAL
14:43:11 | ERROR | [ws] onError L’opération n’a pas pu s’achever. (OSStatus erreur -9836.) 19

Non pas du tout, elle essaie en externe mais échoue donc tente en interne… Échoue aussi ce qui crée une boucle

C’est d’ailleurs pour ça que tu vois EXTERNAL partout

Ah ok… en tout cas a aucun moment je ne voit l’url de websocket apparaitre :confused:

est ce qu’elle est bien configurée côté plugin pour commencer ?!

Oui :sweat_smile: haha