Erreur directive de Content Security Policy avec plugin ESPEasy

Bonjour,
Je rencontre le problème suivant depuis le passage en Debian 11 et màj de jeedom :

Impossible de charger la ressource "http://192.168.0.26", car elle va contre la directive de Content Security Policy :
"frame-src 'self' *.jeedom.com *.google.com *.google.fr *.googleapis.com data:"

J’ai bien lu quelques posts avec des explications incluant la modification du fichier intall/apache_security mais concernant d’autres cas de figures mais rien n’incluant ce plugin en particulier.
Avant de jouer aux apprentis sorciers je préfère recueillir les conseils.

Voici le fichier log ESPEasy_node à toute fin utile :

node:internal/modules/cjs/loader:1228
throw err;
^
Error: Cannot find module 'request'
Require stack:
- /var/www/html/plugins/espeasy/resources/espeasy.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1225:15)
at Module._load (node:internal/modules/cjs/loader:1051:27)
at Module.require (node:internal/modules/cjs/loader:1311:19)
at require (node:internal/modules/helpers:179:18)
at Object.<anonymous> (/var/www/html/plugins/espeasy/resources/espeasy.js:3:15)
at Module._compile (node:internal/modules/cjs/loader:1469:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1548:10)
at Module.load (node:internal/modules/cjs/loader:1288:32)
at Module._load (node:internal/modules/cjs/loader:1104:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:174:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/var/www/html/plugins/espeasy/resources/espeasy.js' ]
}
Node.js v20.18.0
node:internal/modules/cjs/loader:1228
throw err;
^
Error: Cannot find module 'request'
Require stack:
- /var/www/html/plugins/espeasy/resources/espeasy.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1225:15)
at Module._load (node:internal/modules/cjs/loader:1051:27)
at Module.require (node:internal/modules/cjs/loader:1311:19)
at require (node:internal/modules/helpers:179:18)
at Object.<anonymous> (/var/www/html/plugins/espeasy/resources/espeasy.js:3:15)
at Module._compile (node:internal/modules/cjs/loader:1469:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1548:10)
at Module.load (node:internal/modules/cjs/loader:1288:32)
at Module._load (node:internal/modules/cjs/loader:1104:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:174:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/var/www/html/plugins/espeasy/resources/espeasy.js' ]
}
Node.js v20.18.0
Server running
Server running
Server running

Informations Jeedom

Core : 4.4.19 (master)
DNS Jeedom : oui

Plugin : ESPeasy
Version : 2023-07-27 01:00:50 (stable)
Statut Démon : Démarré - (2025-01-06 22:15:04)

Bonjour,
Perso je ne vois pas de lien entre le plugin ESPEasy et ton message d’erreur ?
Pourquoi as-tu fais ce lien ? (par l’IP ?)
David

oui exactement l’IP correspond à mon CH4 :
image

Ok et tu arrives à accéder à l’interface web de l’ESP via le bouton ?
Peux-tu montrer ton fichier Apache_security ?

Sinon tu peux essayer d’utiliser provisoirement l’apache non sécurisé


pour voir si ce message est toujours présent ? (je ne pense pas mais bon…)
David

J’ai le message suivant pour apache security :

Module headers already enabled
warning: commands will be executed using /bin/sh
job 51 at Wed Jan  8 10:19:00 2025

Sinon tu peux essayer d’utiliser provisoirement l’apache non sécurisé

J’avais effectivement lu des choses sur ce point mais apparemment pas recommandé

c’est pour cela que j’ai indiqué provisoirement .

Par contre, avant cela, je te demandais :

il faut donc aller dans l’onglet réglages, configuration et editeur de fichier.


Puis sous « install » double clic sur apache_security
David

Oups désolé, le voici :

ServerTokens Prod
ServerSignature off
TraceEnable Off

<Directory /var/www/html>
Options -Indexes -ExecCGI -FollowSymLinks
AllowOverride All
</Directory>

<IfModule mod_headers.c>
Header set X-Content-Type-Options "nosniff"
Header set X-Frame-Options "sameorigin"
Header set X-XSS-Protection "1; mode=block"
Header unset X-Powered-By
Header set Referrer-Policy: strict-origin-when-cross-origin
Header set Permissions-Policy "accelerometer=(),battery=(),fullscreen=(self),geolocation=(),camera=(),ambient-light-sensor=(self),autoplay=(self)"
Header set Content-Security-Policy "default-src 'self' file: data: blob: filesystem:;script-src-attr 'self' 'unsafe-inline' 'unsafe-eval' *.google.com *.google.fr *.googleapis.com;script-src 'self' 'unsafe-inline' 'unsafe-eval' *.google.com *.google.fr;script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' *.google.com *.google.fr;img-src 'self' * data:;style-src 'self' 'unsafe-inline';style-src-attr 'self' 'unsafe-inline';worker-src blob:;frame-src 'self' *.jeedom.com *.google.com *.google.fr *.googleapis.com data:;"
</IfModule>

En lisant les différents post je pense faire la modif suivante :
Modifier ceci

frame-src 'self' *.jeedom.com *.google.com *.google.fr *.googleapis.com data:;"

Par

frame-src 'self' *.jeedom.com *.google.com *.google.fr *.googleapis.com data: http://192.168.0.26;"

Je viens de faire la manip et cela fonctionne j’ai ajouté 3 IP à la suite

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.