QNAP [ KeyBox ] [ 2.90.0 ] Web-based SSH console

giopas a dit:
EDIT: en lisant ici, il paraît que la configuration porrait être la suivante:

Code:
<VirtualHost *:80> 
    ServerName sub.domain.com 
    ProxyPass / http://localhost:58000/ 
    ProxyRequests Off 
    ProxyPreserveHost On 
    ProxyStatus On 
    <Proxy *> 
    Order deny,allow 
    Allow from all 
    </Proxy> 
</VirtualHost>
Je vais la tester demain...

Je confirme que cette configuration marche aussi. Par contre j'ai tjrs le problème du terminale qui ne s'affiche pas bien. Je vais essayer de contacter Sean (le développeur de KeyBox) pour plus d'info
 
Pour info,

voici la réponse de Sean:

Hi giopas!

That happens b/c the reverse-proxy is blocking web sockets.

I've had ppl have issues/fixes with nginx proxy

https://github.com/skavanagh/KeyBox/issues/51

If you use apache as the proxy maybe this module is something to look at.

https://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html

Sean

J'ai donc essayé d'utiliser ceux deux lignes de code, mais sans succès:

Code:
ProxyPass "/" "ws://localhost:58000/"
ProxyPass "/" "wss://localhost:58000/"

Mnt je regarde avec cela aussi, mais pour l'instant cela ne m'aide pas non plus:

Code:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/ [NC]
RewriteCond %{QUERY_STRING} transport=websocket [NC]
RewriteRule /(.*) ws://localhost:3001/$1 [P,L]
 
QoolBox a dit:
installe nginx pitêtre

:mrgreen:
Non parce que si non il faut que je désinstalle Qthttpd ou que je le bouge de la porte 80 et je doit transférer les autres services sur nginx :)

Par contre peut être que je ne suis pas trop loin de la solution: ici
 
dis moi si tu trouves, ça m’intéresse pour l'implémenter en natif sur certaines appli

j’espère que ta boite d'aspirine n'est pas déjà vide :lol:
 
hehe, non pas encore. :)

ce qui est bien est que après rédemarrage, tant qu'on ne touche pas apache.conf, les settings restent là!

Par contre, si on fait un erreur de syntax ou on fait référence à un module non activé, le setting de VirtualHost dans QTS se désactive complétement et au même temps les droits WebDAV sur les dossieurs partagés se rémettent à zero...
 
Voilà avec une mise à jour:

currement on QNAP on utilise la version 2.2 de Apache:

Code:
# /usr/local/apache/bin/apache -V
Server version: Apache/2.2.31 (Unix)
Malheureusement cette version ne contient pas l'exténtion mod_proxy_wstunnel du module mod_proxy qui permettrait le bon fonctionnement du web socket utilisé par KeyBox.

En effet cette exténtion du module est seulement contenu dans mod_proxyà partir de la version 2.4.5 (ici).

Il serait donc nécéssaire soit de mettre à jour apache à une version plus récente, soit récompiler Apache avec ce module (voir ici).

J'ai ouvert un ticket (#WAM-152-54038) avec la partie de Taiwan (car ils devraient être plus près des dévéloppeurs), mais Stéphane si tu arrives à régarder (demander en interne) de ton coté cela serait super car jusqu'à quand cela ne sera pas fixé je crains qu'on ne pourra rien faire...
 
Pas bête ! Mais il faudrait que je le fasse marcher sur la porte 80. Est-ce qu'il remplace qthttp originale?
 
le problème est qu'en changeant la porte du WebServer aussi la porte d'accèss à mes folders WebDAV change... uhmm, il me faudrait vraiment de l'aide de QNAP pour faire marcher ce reverse proxy...
 
Excellente nouvelle!

J'ai presque résolu:

1. créer une folder partagé htdocs

2. installer Qapache: http://www.forum-nas.fr/viewtopic.php?f=21&t=1677

3. créer le fichier httpd-vhosts-user.conf dans le dossieur suivant: /opt/Qapache/etc/extra

4. mettre dans httpd-vhosts-user.conf le code suivant:

Code:
<VirtualHost *:88>
ServerName sub.domain.com
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<LocationMatch "/admin/(terms.*)">
ProxyPass ajp://localhost:58000//admin/$1 <- pas 100% sûr qu'il soit en fait nécéssaire
ProxyPassReverse ajp://localhost:58000/admin/$1 <- pas 100% sûr qu'il soit en fait nécéssaire
ProxyPass ws://localhost:58000/admin/$1
ProxyPassReverse ws://localhost:58000/admin/$1
</LocationMatch>
ProxyPass / http://localhost:58000/
ProxyPassReverse / http://localhost:58000/
ProxyRequests Off
ProxyPreserveHost On
ProxyStatus On
</VirtualHost>

5. éditer le fichier httpd.conf qui se trouve dans /opt/Qapache/etc/ et insérer la ligne suivante:

Code:
Include etc/extra/httpd-vhosts-user.conf

6. Rédemarrer Qapache sur l'App Center du QTS

7. Ouvrir la porte du firewall 88 :)

8. À ce point si on ouvre http://sub.domain.com:88 on aura accès à KeyBox en reverse proxy.

Le problème que j'ai est que, au lieu de basculer tous les autres services (QPydio, WebDAV, autres VirtualHosts y inclus Note Station, Download Station etc...) sur Qapache, je voudrais créer un simple redirect en interne de l'Qthttpd à Qapache. Je dois voir comment faire cela est j'ai résolu (bon, avec un serveur http en plus, mais je vais faire avec jusqu'à quand QNAP ne met pas à jour Qthttpd)! :D

Quelques idées sur le redirect? Je pourrais utiliser index.php sur le serveur Qthttpd (la porte 80) comme il suit, mais je crois que cela ne marcherait pas car au final c'est la même solution que j'avais au début (redirect sur porte 58000) qui est mnt bloquée:

Code:
<? 
header('Location: http://.'$_SERVER["SERVER_ADDR"]'.:'88'); 
>

À l'aide! :cry:
 
Plus je regarde à cela et plus je crois que QNAP devrait fournir une version du serveur Apache plus récente.

En effet, sauf bouger tout sur ton Qapache (mais cela va créer pas mal de problèmes avec tous les services sur porte 80 utilisés par QNAP, tels que WebDAV, Note Station, Download Station, Surveillance Station, etc...), je crains qu'il n'y a pas d'autre solution à mon problème... :x

Est-ce que tu pourrais demander en interne s'il serait possible/prévu de faire une mise à jour d'Apache?

Au final, utiliser un reverse proxy qui marche permettra à nous tous de laisser ouverte seulement la porte 80 au lieu d'en avoir plusieurs.
 
J'ai discuté avec le support et ils vont juste traiter la mise à jour de Qthttpd comme une "feature request", donc je ne sais pas quand la mise à jour sera effectuée.

Toutefois j'ai eu confirmation que Note Station, Download,Surveillance, Video, Music and Photo Stations, tous ces services utilisent un webserver séparé (celui utilisé pour se connecter à QTS).

Si cela est vraiment le cas, je vais essayer de basculer mes Virtual Hosts et WebDAV sur Qapache et puis je vais changer le paramétrage du router pour voir si cela marche. Au pire je vais clairement changer les portes de Qthttpd et Qapache...

more to come, comme disent les anglais... ;)

EDIT: j'ai testé la redirection de tous les Virtual Hosts et WebDAV sur Qapache, mais puis je perds accès à Note Station, etc.. car elle utilise la porte 80 de Qthttpd. Je crois donc que, au moins de créer un virtual host pour chacque "Station" ce n'est pas facile de remplacer facilement Qthttpd avec Qapache... :evil: