Comment rendre un IPX800 v5 accessible au travers d'un proxy Apache?

Bonjour

Je souhaiterais joindre l’interface WEB de l’IPX800 V5 au travers d’un (reverse-)proxy sur Apache,
j’ai essayé la config standard d’Apache pour un reverse-proxy, voir ci-dessous, mais cela ne fonctionne pas correctement, la barre des menus de gauche n’est pas affichée et il n’est pas possible d’editer le dashboard, le status reste ‹ disconnected › meme apres un login.

j’ai lu des posts similaires sur le forum mais pas de piste de solutions.

Quelqu’un aurait-il une idée ?

Merci

<VirtualHost *:80>
ServerName ipx800v5
ProxyPass / http://<local_IP>/
ProxyPassReverse / http://<local_IP>/

Bonjour t0urista2,

c’est ce qui arrive quand on se connecte en tant qu’utilisateur de niveau 0 (Observateur).

Bonne journée

bonjour,
avez-vous vérifié dans la console de votre navigateur si des erreurs remontent (scripts bloqués, url non joignables, …)
bonne journée

Voila les messages d’erreur obtenus dans la console de Chrome :

Uncaught SyntaxError: Unexpected token '<' (at cordova.js:1:1)

WebSocket connection to 'wss://<MY_URL>/websocket/dashboard/open?AuthToken=XXXXXXXXXXXXXX' failed: main.dda8d1535a55996baac3.js:1 

main.dda8d1535a55996baac3.js : Event {isTrusted: true, type: 'error', target: WebSocket, currentTarget: WebSocket, eventPhase: 2, …}

suite à l’erreur liée au websocket , j’ai fait quelques recherches sur le reverse proxy apache en presence de WEBsocket

J’ai d’abord active le module
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so

ensuite j’ai change les regles vhosts comme ci-dessous.

progres : Je n’ai plus cette fenêtre noire qui me demande en permanence de me reconnecter, il n’y a plus aucun message d’erreur dans la console de Chrome, je suis bien connecte en root mais aucun des privilèges associes a root (reboot, edit) n’est disponible.

Une idée ?

<VirtualHost *:443>
ServerName <MYURL>
ProxyPass / http://<local_IP>/
RewriteEngine on
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule ^/?(.*) "ws://<local_IP>/$1" [P,L]

ProxyPass / "http://<local_IP>/"
ProxyPassReverse /  "http://<local_IP>/"  

</VirtualHost>

Bonjour t0urista2,

Tu héberges sur quel système de Linux ton reverse-proxy Apache ?

Bonne journée

Bonjour à tous,

Je me permets de relancer ce sujet car je rencontre une situation similaire pour l’accès à mon IPX800 V5 via un reverse proxy Apache.

Mon environnement :

  • IPX800 V5 (5.7.0).

  • Proxy : Serveur Ubuntu 24.04 / Apache 2.4.

  • Accès distant : Via Cloudflare Tunnel pointant vers mon instance Apache locale.

  • Accès local : IP directe (192.168.1.102).

Le comportement : L’interface fonctionne parfaitement en accès local (IP directe), la sidebar est bien présente. Lorsque j’accède via le domaine (proxyfié par Apache), l’interface se charge, je peux m’authentifier (token valide), les WebSockets sont bien établis (statut 101 Switching Protocols), et les appels API retournent du 200 OK.

Le problème : Le bloc #gce-navbar (sidebar) ne s’injecte jamais dans le DOM. Aucune erreur JavaScript bloquante dans la console (simplement des logs de debug confirmant que l’initialisation Angular main.js est bien exécutée). J’ai vérifié les règles de configuration Cloudflare (Rocket Loader, Browser Integrity Check désactivés), sans succès.

Configuration Apache actuelle :

Apache

<VirtualHost *:443>
ServerName automate.xxxxxx.xxx

SSLEngine on
SSLCertificateFile    /etc/ssl/xxxxxx.xxx/cert.pem
SSLCertificateKeyFile /etc/ssl/xxxxxx.xxx/key.pem

ProxyRequests Off
ProxyPreserveHost On

# WebSocket
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://192.168.1.102/$1 [P,L]

# Proxy HTTP
ProxyPass / http://192.168.1.102/
ProxyPassReverse / http://192.168.1.102/

# Logs
ErrorLog ${APACHE_LOG_DIR}/automate_error.log
CustomLog ${APACHE_LOG_DIR}/automate_access.log combined
</VirtualHost>

Mes questions pour la communauté :

  1. Certains d’entre vous ont-ils réussi à maintenir l’intégralité de l’UI (sidebar) via un reverse proxy Apache ?

  2. Existe-t-il une instruction spécifique pour le ProxyPass ou un header manquant pour assurer la pleine compatibilité avec l’interface Angular de l’IPX V5 ?

Toute piste ou retour d’expérience est le bienvenu. Merci d’avance.

Mehdi