Comment configurer sous-domaine + ProxyPass + port

xuo Membre non connecté
-
- Voir le profil du membre xuo
- Inscrit le : 23/10/2011
- Groupes :
J'ai un problème que je traine depuis des lustres.
Je ne sais pas définir un sous-domaine s'il y a déjà un ProxyPass/ProxyPassReverse sur un port.
J'essaie d'être clair.
Prenons subsonic et guacamole.
Ils ont besoin l'un du port 4040 l'autre de 8080.
Si je me connecte à mon-domaine.fr/subsonic:4040 ou à mon-domaine.fr/guacamole:8080, ça marche.
Ce qui est embêtant, c'est de devoir rentrer le numéro du port.
Pour pouvoir utiliser mon-domaine.fr/subsonic ou mon-domaine.fr/guacamole, j'ai du faire les manip suivantes (j'ai un serveur apache).
(192.168.0.14 est l'adresse ip locale de mon serveur apache).
Subsonic :
Citation :
<IfModule mod_proxy_http.c>
SSLProxyEngine on
ProxyRequests Off
ProxyPreserveHost On
RequestHeader unset Accept-Encoding
<Proxy http://192.168.0.14:4040/subsonic/>
Order allow,deny
Allow from all
</Proxy>
ProxyPass /subsonic/ http://192.168.0.14:4040/subsonic/
ProxyPassReverse /subsonic/ http://192.168.0.14:4040/subsonic/
</IfModule>
SSLProxyEngine on
ProxyRequests Off
ProxyPreserveHost On
RequestHeader unset Accept-Encoding
<Proxy http://192.168.0.14:4040/subsonic/>
Order allow,deny
Allow from all
</Proxy>
ProxyPass /subsonic/ http://192.168.0.14:4040/subsonic/
ProxyPassReverse /subsonic/ http://192.168.0.14:4040/subsonic/
</IfModule>
Guacamole :
Citation :
<IfModule mod_proxy_http.c>
<Location /guacamole/>
Order allow,deny
Allow from all
ProxyPass http://192.168.0.14:8080/guacamole/ flushpackets=on
ProxyPassReverse http://192.168.0.14:8080/guacamole/
</Location>
<Location /guacamole/websocket-tunnel>
Order allow,deny
Allow from all
ProxyPass ws://192.168.0.14:8080/guacamole/websocket-tunnel
ProxyPassReverse ws://192.168.0.14:8080/guacamole/websocket-tunnel
</Location>
</IfModule>
<Location /guacamole/>
Order allow,deny
Allow from all
ProxyPass http://192.168.0.14:8080/guacamole/ flushpackets=on
ProxyPassReverse http://192.168.0.14:8080/guacamole/
</Location>
<Location /guacamole/websocket-tunnel>
Order allow,deny
Allow from all
ProxyPass ws://192.168.0.14:8080/guacamole/websocket-tunnel
ProxyPassReverse ws://192.168.0.14:8080/guacamole/websocket-tunnel
</Location>
</IfModule>
Cela marche bien. Mais je voudrais aller plus loin et là, je coince.
Je voudrais pouvoir accéder à mes sites à partir de subsonic.mon-domaine.fr et de guacamole.mon-domaine.fr
Quelqu'un saurait-il comment faire ? Tout ce que j'avais réussi à faire, c'est de mettre subsonic comme étant la page d'accueil de mon-domaine.fr (ce qui n'est pas vraiment ce que je voulais faire).
Si je n'ai pas de port particulier à faire passer (nextcloud, piwigo, ...), j'y arrive sans problème (nextcloud.mon-domaine.fr, ...).
J'utilise un certificat letsEncrypt ce qui peut compliquer les choses, je ne sais pas.
Merci.
Xuo.

mvt7 Membre non connecté
-
- Voir le profil du membre mvt7
- Inscrit le : 05/02/2019
- Groupes :
En définissant deux vhosts, un pour chacun des sous-domaines, ça devrait le faire sans trop de problème il me semble. Un truc du genre :
guacamole.conf :
<VirtualHost guacamole.mon-domaine.fr:443>
ServerName guacamole.mon-domaine.fr
...
ProxyPass http://192.168.0.14:8080/guacamole/ flushpackets=on
ProxyPassReverse http://192.168.0.14:8080/guacamole/
</VirtualHost>
ServerName guacamole.mon-domaine.fr
...
ProxyPass http://192.168.0.14:8080/guacamole/ flushpackets=on
ProxyPassReverse http://192.168.0.14:8080/guacamole/
</VirtualHost>
Et pareil pour l'autre. Les bonnes pratiques voudraient que tu fasses un fichier pour chaque vhost : guacamole.conf et subsonic.conf
mvt7 


xuo Membre non connecté
-
- Voir le profil du membre xuo
- Inscrit le : 23/10/2011
- Groupes :
Merci pour la proposition. J'essayerai ce week-end.
Xuo.

xuo Membre non connecté
-
- Voir le profil du membre xuo
- Inscrit le : 23/10/2011
- Groupes :
Rien à faire, je n'y arrive pas. La plupart du temps, je me retrouve avec un :
Cannot serve directory /var/www/html/subsonic/: No matching DirectoryIndex (index.php,index.html) found, and server-generated directory index forbidden by Options directive
dans les logs et avec un :
Forbidden
You don't have permission to access / on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
dans Firefox.
Il faut jouer en plus sur le fichier /etc/subsonic et ça ne simplifie pas les choses.
Xuo.

PaLmAs Membre non connecté
-
- Voir le profil du membre PaLmAs
- Inscrit le : 02/04/2007
- Groupes :
as tu essayé ceci (Dans sites-enabled d'apache) :
VirtualHost :
<VirtualHost guacamole.mon-domaine.fr:443>
ServerName guacamole.mon-domaine.fr
...
ProxyPass http://mon-domaine.fr:8080/guacamole flushpackets=on
ProxyPassReverse http://mon-domaine.fr:8080/guacamole
</VirtualHost>
ServerName guacamole.mon-domaine.fr
...
ProxyPass http://mon-domaine.fr:8080/guacamole flushpackets=on
ProxyPassReverse http://mon-domaine.fr:8080/guacamole
</VirtualHost>
Je part du principe que l’accès http://mon-domaine.fr/guacamole:8080 fonctionne !
Attention avec letsEncrypt le lien doit être en https ?
Quelques questions:
Tu auto héberge tes applications ?
Le nom de domaine te permet d'y avoir accès depuis l'exterieur c'est ça ou c'est un système de dns interne ?

ps: correctif le port doit toujours se trouver après l'adresse ip ou nom de domaine
Édité par PaLmAs Le 08/12/2019 à 22h30

xuo Membre non connecté
-
- Voir le profil du membre xuo
- Inscrit le : 23/10/2011
- Groupes :
Non, je n'ai testé que la première version.
et http://mon-domaine.fr/guacamole:8080 ne fonctionne pas car :
- j'ai une redirection de http en https. Donc on ne peut jamais passer en http (normalement).
- j'ai la directive proxyPass qui me permet de ne plus avoir à mettre 8080 dans l'adresse. De tête, avant de créer le fichier guacamole.conf, j'y accédais avec https://mon-domaine.fr:8080/guacamole
Oui, j'auto-héberge mes applications mais je n'y connais pas grand-chose en redirections, proxyPass, ...
J'y accède depuis l'extérieur. Quand je suis chez moi et que je veux y accéder, j'utilise le nom de domaine de la même façon. Pas de dns interne (je m'y connais encore moins).
Xuo.

PaLmAs Membre non connecté
-
- Voir le profil du membre PaLmAs
- Inscrit le : 02/04/2007
- Groupes :
Citation :
Si je me connecte à mon-domaine.fr/subsonic:4040 ou à mon-domaine.fr/guacamole:8080, ça marche.
Tu avais pourtant indiqué que tu arrivait à te connecter ainsi.
Ce que je te propose est la chose suivante:
On repart de zéro, enleve les lignes dans apache qui permettent de supprimer les ports.
Indique moi comment tu te connecte depuis ton réseau au différentes applications, puis de l'extérieur.
Exemple:
Http://mon-ip:port/applications
Https://nom-domaine.fr:port/applications
Il faudra le chemin complet http ou https

xuo Membre non connecté
-
- Voir le profil du membre xuo
- Inscrit le : 23/10/2011
- Groupes :
J'ai sans doute dit une bêtise en disant que https://mon-domaine.fr:8080/guacamole marchait.
J'ai supprimé le fichier guacamole.conf pour me remettre dans la config initiale.
https://mon-domaine.fr:8080/guacamole-1.0.0 ne marche pas (je suis obligé de mettre le 1.0.0 mais c'est un autre problème).
Citation :
Échec de la connexion sécurisée
Une erreur est survenue pendant une connexion à mon-domaine.fr:8080. SSL a reçu un enregistrement qui dépasse la longueur maximale autorisée.
Code d’erreur : SSL_ERROR_RX_RECORD_TOO_LONG
La page que vous essayez de consulter ne peut pas être affichée car l’authenticité des données reçues ne peut être vérifiée.
Veuillez contacter les propriétaires du site web pour les informer de ce problème.
Une erreur est survenue pendant une connexion à mon-domaine.fr:8080. SSL a reçu un enregistrement qui dépasse la longueur maximale autorisée.
Code d’erreur : SSL_ERROR_RX_RECORD_TOO_LONG
La page que vous essayez de consulter ne peut pas être affichée car l’authenticité des données reçues ne peut être vérifiée.
Veuillez contacter les propriétaires du site web pour les informer de ce problème.
https://mon-domaine.fr/guacamole-1.0.0:8080 ne marche pas non plus, ni http://192.168.0.14/guacamole-1.0.0:8080
Citation :
Object not found!
The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.
If you think this is a server error, please contact the webmaster.
Error 404
The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.
If you think this is a server error, please contact the webmaster.
Error 404
Par contre,
http://192.168.0.14:8080/guacamole-1.0.0/#/ marche.
Je ne veux pas donner le vrai nom du site. Moins j'ai de visites, mieux c'est.
Xuo.

PaLmAs Membre non connecté
-
- Voir le profil du membre PaLmAs
- Inscrit le : 02/04/2007
- Groupes :
Le virtualhost fournit par mtv7 ne fonctionne pas ?? (En ayant supprimer les modifications sur la suppression des ports que tu avais mis dans apache)

xuo Membre non connecté
-
- Voir le profil du membre xuo
- Inscrit le : 23/10/2011
- Groupes :
Désolé pour le retard.
Pour le 1ère question, je dirai oui.
Pour la 2ème , je dis non.
Mais je regarde de nouveau ce week-end.
Xuo.

xuo Membre non connecté
-
- Voir le profil du membre xuo
- Inscrit le : 23/10/2011
- Groupes :
J'ai eu du mal à me remotiver pour me replonger là-dedans

Pour répondre aux questions de Palmas, la réponse est "non" aux 2.
Pour la 1ère, j'ai toujours les erreurs indiquées dans mon post du 08/12/2019 à 18h25.
Pour la seconde, le mieux que j'ai obtenu, c'est une page blanche sans aucun message d'erreur dans les logs.
Je crois que je vais laisser encore tomber pour cette fois. Ca fait des années que j'essaye sans y arriver. Il n'y a peut-être pas de solution

Xuo.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie