Redirect_ynh rederiection port supplementaire domaine

Bonjour,

j’ai pour ma domotique un module qui me demande de rediriger un port supplémentaire vers mon serveur.
le domaine existe et il est déj’a rerdirigé en interne vers le port de mon application domotique.
en gros je veux pourvoir faire mondomaine.f:7777/ et qui pointe vers la machine 192.168.1.1:7777 alors que mondomaine/ pointe vers l’ip 192.168.1.1:7895 (les port sont pour exemple).

Mais j’ai pas vraiment trouver comment faire.

merci de l’aide que pourra m’apporté un expret nginx.

Hello @palouf34 !

Pour tes prochaines demandes de support, ça sera utile d’utiliser le modèle qui apparaît quand tu ouvres un ticket de support. Dans ton cas, est-ce que tu peux nous en dire un peu plus sur ton serveur Yunohost ? Est-ce que c’est un serveur chez toi derrière une box ? Un VPS chez un fournisseur ?

Tout ce qui a trait à la redirection de port n’est pas forcément géré dans Yunohost mais plus souvent par un routeur. Pour prendre mon cas personnel, la Freebox me permet de rediriger des ports, par exemple le port 2345 public vers le port 22 d’un serveur derrière mon routeur, et le port 3456 pubic vers le port 22 d’un autre serveur derrière mon routeur. De cette manière, quand j’appelle [IP PUBLIQUE]:2345 ça me redirige vers [IP LOCALE SERVEUR 1]:22 et quand j’appelle [IP PUBLIQUE]:3456 ça me redirige vers [IP LOCALE SERVEUR 2]:22. Et tout ça sans que ça touche à Yunohost.

J’espère que c’est un début de réponse pour toi.

T

Bonjour,

Merci de m’avoir rappeler les règle de demande de support donc voir la base:

Configuration de mon YunoHost

**Matériel:**VM auto-hebergé esxi
Accès Internet: ethernet à la maison
YunoHost version:
yunohost: 3.6.5.3
yunohost-admin: 3.6.5.3
moulinette: 3.6.5.3
ssowat: 3.6.5.3
As tu modifié ton yunohost avec des configuration spécifiques ou bien utilise tu uniquement la web administration et/ou la ligne de commande yunohost ? modifié
Si modifié, comment:

changement domaine pour postfix et les fichiers de l’appication redirect_yhn

Description de mon problème

Donc je reprend mon problème dans les regel de l’art :slight_smile:

Mon serveur est installer dériere un firewall qui lui même est connecté directement sur ma freebox en mode “DMZ” car le mode bridge déconne à plein tube avec la freebox, mais la n’est pas le problème.

sur mon firewall je redirige sur mon serveur yunohost les port 80, 443, 7777 et les port pour le serveur de mail.

j’ai un sous-domaine qui est hebergé sur une autre machine toujours auto-hebergé et vers un port spécifique à cette application et qui “distribue des pages web”

voici le contenus du fichier redirect du domaine:

location / {
proxy_pass        http://192.168.8.206:8123;
proxy_redirect    off;
proxy_set_header  Host $host;
proxy_set_header  X-Real-IP $remote_addr;
proxy_set_header  X-Forwarded-Proto $scheme;
proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header  X-Forwarded-Host $server_name;
proxy_set_header  X-Forwarded-Port $server_port;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Include SSOWAT user panel.
#include conf.d/yunohost_panel.conf.inc;
more_clear_input_headers 'Accept-Encoding';  
}

hors cette application web utilise pour un de ces modules le port 7777 , et c’est la que la merde arrive… ce module m’indique invariablement qu’il ne répond pas, comme il tourne sous un docker j’ai pas trop de trace de tentative de connexion et rien dans les log du domaine sur le serveur yunohost.

j’ai aussi autorisé le port dans le firewall de yunohost.

j’espère que j’ai été plus claire dans ma demande et que mon problème est bien un soucis de configuration nginx dans yunohost.

cordialement

Redirect_ynh ne sera pas suffisant. Tu vas devoir ajouter un bloc server dans le config nginx

Ici tu trouveras un exemple de ce dont je parle:

Tu as un fichier du même genre dans /etc/nginx/conf.d/mondomaine.f.conf

Il faut donc que tu ajoutes ou édites un bloc server avec le listen sur le port 7777

Merci de te penché sur mon probléme,

j’ai effectivcement rajouter un bloc serveur dans le fichier tld.fr comme ceci

server{
listen 7777;
server_name tld.fr:7777;
location /{
proxy_pass http://192.168.8.206:7777;
proxy_set_header X-Forwarder-For $proxy_add_x_forwarded_for;
}
}

Mais cela ne fonctionne pas, car je crois qu’il me manque un truc a mettre dans le fichier de conf du sous domaine.

j’ai ceci dans le fichier en question:

location / {
proxy_pass http://192.168.8.206:8123;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Forwarded-Port $server_port;

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection “upgrade”;

Include SSOWAT user panel.

#include conf.d/yunohost_panel.conf.inc;
more_clear_input_headers ‘Accept-Encoding’;
}

Tu sais si c’est du http ou du https qui sort de 7777 ? Si c’est pa sle cas c’est normal que ça marche pas, il faudrait configurer ça en reverse proxy TCP. Là c’est du reverse proxy HTTP.

OU alors, Quid d’utiliser ton firewall physique (pas celui du yunohost) pour rediriger directement 7777 vers la bonne machine ?

pour la redirection depuis le firewall, j’ai déjà essayé, cela a été même ma première modification mais cela ne fonctionne pas.

le serveur répond en interne en HTTP, mais il est attaqué en https depuis extérieur comme en local.
je t’avoue que je n’ais pas fais de test uniquement via son ip…

pour ce qui est du reverse proxy TCP, c’est la première fois que j’en entends parlé, je vais cherché de la doc dessus.

Si le service répondu http sur 7777 ce n’est pa sla peine de regardre du côté de tcp.

Je t’avoue qu eje commence à coincer pour trouver une solution.

Merci pour ton aide.
je crois que pour l’utilisation du module que j’ai besoin et bien c’est mort…

Bonjour,
Je pense qu’il serait préférable de faire cela au niveau du routeur (rediriger le port 7777 vers le périphérique concerné).
Faire ca avec redirect_ynh (nginx) me semble … acrobatique.
Les modules domotiques nécessitent souvent des configs réseaux exotiques

merci pour ta réponse @scith et c’est effectivement la première chose que j’ai faite avant de tenter de le faire dans la conf yunohost…

Mais cela ne passe pas et sur le serveur vers le quelle le port est sensé être redirigé j’ai aucun log car les modules sont tout dockerisé et même en ouvrant des shell dessus, je n’ai aucun log…

Tu es bien en port “-p PORT:PORT” et pas en “-p 127.0.0.1:PORT:PORT” ?
Il est possible, selon le module domotique, qu’il faille bidouiller les réseaux Docker.
Voici par exemple des infos sur le Docker Jeedom: https://medium.com/@renaudcerrato/installer-jeedom-avec-docker-28935b64b395
https://forum.jeedom.com/viewtopic.php?t=35147
(certains modules nécessitent un mode host sur Docker)

Pour être très précis j’utilise HomeAssistant et le module qui me pose problème est jupyterlab. Donc la gestion des containers est gérer automatiquement et je ne vois pas comment le docker est lancé.

Quand je fais le docker ps j’ai ceci pour le container de jupyterlab:

0.0.0.0:7777->7777/tcp 

[edit]
aprés recherche le docker semble etre lancé correctement, j’ai cette ligne lorsque je fais le bon vieux ps en ligne de commande.

/usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 7777 -container-ip 172.30.33.9 -container-port 7777

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.