Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/03/2024, à 07:48

Chriss2426

Serveur Nginx

Bonjour à tous,

Voilà maintenant plusieurs jours que je bloque sur un problème et je n'ai pas trouvé de réponse avec notre ami Google hmm

J'explique mon soucis, j'ai un serveur Home Assistant qui fonctionne sur une Raspberry et qui est configuré avec Nginx Proxy Manager (et qui fonctionne parfaitement bien)
Et pour une petite radio local de ma région j'ai créé un serveur Icecast (serveur de Streaming).
Tout fonctionne assez bien quand je mets mon url de ma domotique j’arrive bien sur ma rpi et lorsque je mets l’url du streaming (avec redirection de port) j’arrive sur le serveur Ubuntu (Icecase) jusqu'à ce que je m'aperçois dans les logs  du serveur Icecast que tous les clients se connectent avec l'ip lde ma RPI.
Je décide de créé une nouvelle VM avec juste Nginx Proxy Manager et j’ai essayer de faire un true sur le forward IP etc mais sans réussite.

Ma question est donc, il y aurait une autre solution que Nginx Proxy Manager ? Redirection de nom de domaine, création de certificats etc.

Pour faire simple j’aimerais arriver sur le port 80 ou 443 de mon firewall vers le serveur Linux et que lui redirige vers les bonnes ressources.


Merci d’avance pour votre retour ?


Bonne journée

Hors ligne

#2 Le 08/03/2024, à 18:33

Vobul

Re : Serveur Nginx

T'as HAProxy qui est top. Mais nginx tout court fait très bien le job d'un reverse proxy. T'as aussi des trucs comme Traefik pour des services containerisés. Y'a Caddy aussi qui facilite les certificats. Bref, c'est pas le choix qui manque.

Je conseille de s'éloigner de solutions qui disent faciliter les choses en ajouter une couche d'abstraction. Il est préférable à mon sens de savoir configurer nginx tout seul, avant d'utiliser un nginx groupé avec autre chose, ce qui semble être ce que tu veux faire wink

Côté réseau tu peux imaginer avoir Box -> VM Reverse proxy/load balancer (nginx OU autre) -> services sur même vm ou autre

Donc ta box ouvre seulement le port 443 et redirige le tout sur le port 4443 de ta VM RP (port > 1000 pour ne pas avoir à lancer le service avec root, mais je pinaille). Et le rôle de ton RP c'est de rediriger sur le bon service, gérer les certificats, et renvoyer dans les choux ceux qui n'ont rient à faire là.

Après si tu commences à t'intéresser à tout ça et à vouloir héberger des services web, c'est quand même mieux d'avoir un VPS dédié sur un réseau dédié plutôt que d'ouvrir ton réseau interne, mais bon fais comme tu veux wink


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#3 Le 08/03/2024, à 19:40

krodelabestiole

Re : Serveur Nginx

oui : haproxy (dont c'est le boulot principal), traefik (boulot principal aussi, meilleur choix si tu fais du docker), caddy (qui fait une grosse concurrence à nginx) ou même apache. mais nginx est aussi en mesure de faire le boulot.

Hors ligne

#4 Le 09/03/2024, à 23:34

Chriss2426

Re : Serveur Nginx

bonjour,

tout d'abord merci pour vos retours, j'ai écouté vos conseils et j'ai fais un serveur avec "juste" nginx.
J'ai réussis a l'installer et a configuré ma domotique et la webradio.
J'ai également réussis a configurer les certificats SSL.

Mais mon problème est toujours le même pour la webradio, j'arrive toujours avec l'ip privé du serveur nginx.
Je sais pas si en postant la config vous pourriez éventuellement me guider ?

Bonne soirée


La conf :

   server {
   server_name radio.xxx.be;


   location / {
   
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

   proxy_set_header X-Forwarded-For $client_ip;
   proxy_set_header x-real-ip $remote_addr;
   proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;
   proxy_set_header Accept-Encoding "";
   proxy_pass [url]http://192.168.1.50:8002[/url];
   sub_filter_types application/xspf+xml audio/x-mpegurl audio/x-vclt text/css text/html text/xml;
   sub_filter '@localhost' '@radio.xxxx.be';
   sub_filter 'localhost' $host;
  }

  location /stream {
   proxy_set_header X-Forwarded-For $client_ip;
   real_ip_header X-Forwarded-For;
   proxy_set_header Accept-Encoding "";
   proxy_pass [url]http://192.168.1.50:8002/stream[/url];
   sub_filter_types application/xspf+xml audio/x-mpegurl audio/x-vclt text/css text/html text/xml;

  }

    listen [::]:443 ssl ; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/radio.xxxx.be/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/radio.xxxx.be/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

   server {
    if ($host = radio.xxxx.be) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


   listen 80;
   listen [::]:80;
   server_name radio.xxxx.be;
    return 404; # managed by Certbot


}

Dernière modification par Chriss2426 (Le 10/03/2024, à 13:10)

Hors ligne

#5 Le 09/03/2024, à 23:40

xubu1957

Re : Serveur Nginx

Bonjour,

Pour ajouter toi-même les balises code à ton précédent message #4 :

  • Cliquer sur le lien « Modifier » en bas à droite du message

  • Sélectionner le texte

  • Cliquer sur le <> de l'éditeur de message

Balisesmoko138.jpg

comme indiqué dans le : Retour utilisable de commande

   server {
   server_name radio.xxx.be;


   location / {
   
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

   proxy_set_header X-Forwarded-For $client_ip;
   proxy_set_header x-real-ip $remote_addr;
   proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;
   proxy_set_header Accept-Encoding "";
   proxy_pass http://192.168.1.50:8002;
   sub_filter_types application/xspf+xml audio/x-mpegurl audio/x-vclt text/css text/html text/xml;
   sub_filter '@localhost' '@radio.xxxx.be';
   sub_filter 'localhost' $host;
  }

  location /stream {
   proxy_set_header X-Forwarded-For $client_ip;
   real_ip_header X-Forwarded-For;
   proxy_set_header Accept-Encoding "";
   proxy_pass http://192.168.1.50:8002/stream;
   sub_filter_types application/xspf+xml audio/x-mpegurl audio/x-vclt text/css text/html text/xml;

  }

    listen [::]:443 ssl ; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/radio.xxxx.be/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/radio.xxxx.be/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

   server {
    if ($host = radio.xxxx.be) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


   listen 80;
   listen [::]:80;
   server_name radio.xxxx.be;
    return 404; # managed by Certbot


}

Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Réso|u] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.                   Membre de Linux-Azur

En ligne

#6 Le 10/03/2024, à 13:22

alex2423

Re : Serveur Nginx

Chriss2426 a écrit :

Mais mon problème est toujours le même pour la webradio, j'arrive toujours avec l'ip privé du serveur nginx.

Bonjour Chriss,
Et en toute innocence, quel serait le problème ?  quel est l'incidence ?

Hors ligne

#7 Le 10/03/2024, à 18:07

Chriss2426

Re : Serveur Nginx

Bonjour Alex,

Car j'ai une plateferome qui se connecte sur le serveur pour faire du reporting et sans les ip publiques  c'est assez faussé neutral

Hors ligne

#8 Le 11/03/2024, à 22:50

alex2423

Re : Serveur Nginx

Humm, je comprends. Oui c'est un peu problématique dans ce cas sad

Hors ligne

#9 Le 11/03/2024, à 23:34

Vobul

Re : Serveur Nginx

Le format de log par défaut d'nginx ne prend pas en compte l'ip source. C'est ça ton problème. Change log_format. https://www.loadbalancer.org/blog/nginx … or-header/


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne