Proxifié octoprint derriere un serveur apache

Suite à l’ajout d’une webcam sur notre octoprint, très vite nous avons voulu pouvoir contrôler à distance le résultat du travail. Sauf que… on a déjà un serveur web tournant sur une autre machine.

Deux méthodes sont alors possibles : soit rediriger l’accès via un autre port En utilisant des redirections dans la box internet via, par exemple 8080 => <adresse ip host octoprint:80>

Mais pas idéal quand on a un nom de domaine, et puis on oublie assez vite le numéro de port… Donc, je me suis basé sur le tutorial suivant, dans la version adapté à Apache.

https://discourse.octoprint.org/t/reverse-proxy-configuration-examples/1107

Mais… l’exemple indiqué ne fonctionne pas si apache est installé sur un autre poste que le raspberry pi.

Voici une version corrigée :

<Location /octoprint/>
ProxyPass http://<adresse ip host octoprint>/
ProxyPassReverse http://<adresse ip host octoprint>//
RequestHeader set X-SCRIPT-NAME /octoprint/
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteRule .* ws://<adresse ip host octoprint>/:80%{REQUEST_URI} [P]
</Location>