Je souhaiterais utilise les Web Sockets en mode « Secure » (wss). Côté http, je suis déjà en https avec un certificat Let’s Encrypt installé avec Cerbot sur l’apache du Jeedom.
Quelles sont les modifications à effectuer côté Apache pour pouvoir être en wss ?
Je me réponds à moi-même … J’ai essayé des modifications dans le fichier 000-default-le-ssl.conf (les modifications par rapport au fichier généré par cerbot sont les lignes qui commencent par « Proxy ») =>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ProxyRequests Off
ProxyPreserveHost On
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog /var/www/html/log/http.error
ServerName server.example.com
ProxyPass /ws/ ws://192.168.0.155:7899/
ProxyPassReverse /ws/ ws://192.168.0.155:7899/
SSLCertificateFile /etc/letsencrypt/live/boxdomotiquechoupi.ddns.net/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/boxdomotiquechoupi.ddns.net/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
Résultat : cela ne fonctionne toujours pas (j’ai un time-out à la connexion côté appli JC).
A noter que j’ai aussi changé dans l’appli l’adresse externe & interne websocket en mettant wss à la place de ws.
Bonjour,
Je serais aussi intéressé par la fonctionnalité.
2 options :
celle que vous cherchez à mettre en place, à savoir un reverse proxy géré par un serveur web, apache2, en l’occurrence.
une gestion native en code PHP. Le serveur ws implémenté dans ce fichier. Cela est issu du projet RatchetPHP qui semble être capable de gérer le wss.
Je n’ai pas eu le temps de chercher, mais il y a des exemples de code à tester dans cet issue : https://github.com/ratchetphp/Ratchet/issues/799
Merci de m’indiquer si vous obtenez des résultats probants.
Déjà qu on galere a faire comprendre a certains utilisateurs comment configurer simplement le websocket … alors si en plus on offre la possibilité de passer en wss mais avec la contrainte de devoir récupérer en conf le chemin vers les fichiers certificats (j entends deja des "les quoi ??? "…) je pense qu on est pas rendu …!
Je comprends bien votre point de vue.
Après, quand on gère des ouvrants (portail, volets…), il s’agit de sûreté et on a peut-être pas envie que tout soit transmis en clair (même si risque quasi nul).
d’ailleurs ce que tu essaies de faire ne me semble pas etre du wss mais simplement un passage de httpS (puisqu’écoute sur le port 443 !?) vers du websocket !?
à toute fin utile, perso je passe par mon synology qui fait du reverse proxy « tout seul ». en allant fouiller les fichiers de conf voilà ce qui est généré automatiquement
Note : c’est pour du nginx, pas du apache. Et c’est peut etre propre à syno (mais j’en doute!)
mouai alors je ne vais pas rentrer dans un débat ici …
mais une solution simple pour pas être « en clair » → passe en https, sans websocket, si tu ne sais pas faire mieux niveaux conf !
Objectivement, websocket a une réelle fluidité dans l’application que je n’ai pas constaté avec http(s).
Ça me prendra du temps, mais je vais essayer.
C’est d’autant plus dommage qu’on a déjà les certificats et un serveur apache.
Ce n est clairement pas pour rien si l option est proposée, et « vendue » comme telle dans la documentation du plugin !
Apres tu peux aussi activer le polling en http(s) pour avoir de meilleur resultat.
J ai donné de serieuses pistes je pense.
Plus qu a tester, mais faudra mettre un peu les mains dans le cambouie (et comprendre ce qui est fait/à faire) !..