Partage
  • Partager sur Facebook
  • Partager sur Twitter

Reverse proxy sur autre chose que du web ?

    16 juin 2020 à 23:07:23

    Bonjour,

    version courte:
     J'aimerais savoir si les reverses proxy ne fonctionne QUE avec le protocole http et https ?

    version un peu ( beaucoup ) plus longue:

    Voilà le contexte, j'ai un VPS sur lequel je fais tourner des serveurs de jeu (Minecraft).

    Étant apprentis admin système je m'amuse beaucoup a essayer des choses (en local) que je reproduit ensuite sur ce serveur.
    Actuellement mon serveur de jeu tourne donc sous Docker.

    Avec un ami on s'est dit "Tiens on aimerais ouvrir un autre serveur", là rien de plus simple, je relance un docker avec la même image sur un port différent et le tour est joué.
    Mais voilà le problème, le jeu se connecte par défaut sur le port 25565, et si je veux que mes joueurs se connecte sur mon second serveur il doivent spécifier minecraft.serveur.com:25564 (donné a titre d'exemple) et cela me pose 2 problèmes:

    -1: C'est moche d'avoir un port derrière son nom de domaine

    -2: Si les joueurs oublie le port ils vont se connecter à mon 1er serveur au lieu du deuxième

    Je me suis donc dit "ça serait bien de pouvoir faire un sorte que le DNS pointe sur un port" pour faire en sorte que si un joueurs entre l'URL mcserveur1.serveur.com ça l'envoie sur mon 1er serveur et si il entre l'URL mcserveur2.serveur.com ça l’envoie sur mon serveur 2.

    Après quelque recherche j'ai compris que c'était impossible, cependant, ce problème s'est déjà posé pour beaucoup de personne avec leurs sites web et ils contournent ça avec soit un reverse proxy, soit un vhost fourni grâce à Apache ou Nginx.

    J'ai donc essayé, mais si j'ai bien compris la mécanique des vhosts et reverse proxy, pour connaitre le domain name ils utilisent l'en tête http...Ce qui m'amène donc à la question suivante ?

     Est ce que les vhosts et reverse proxy ne fonctionne qu'avec le protocole http/https ?

    ça me parait assez inconcevable qu'avec les problèmes de pénurie d'adresse IPv4 qu'il y a que personne n'ai développé un produit similaire au vhost qui fonctionne avec autre chose que de l'http...

    Voilà voilà, merci de m'avoir lu !

    ------------------------------------------------------------------

    EDIT:

    Re-Bonjour,

    J'ai trouvé une solution à mon problème (je reste cependant curieux de la réponse à ma question) en jouant avec les règles DNS, je la poste ici si jamais ça peu aider quelqu'un :

    Source: MRVDOG sur le site stackoverflow
    https://stackoverflow.com/questions/16138264/nginx-proxy-pass-to-minecraft-server

    Dans le DNS, ajouter deux entrées de type "A":

    Nom : mcserveur1.serveur.com
    Cible : IP de votre machine
    TTL: Laisser par défaut (sur OVH du moins)

    Nom : mcserveur1.serveur.com
    Cible : IP de votre machine
    TTL: Laisser par défaut (sur OVH du moins)

    Ensuite, ajouter deux entrées DNS de type "SRV":

    Nom : _minecraft._tcp.mcserveur1.serveur.com
    port : le port souhaité
    Cible : mcserveur1.serveur.com
    poid : 0
    priorité : 0

    Nom : _minecraft._tcp.mcserveur2.serveur.com
    port : le port souhaité
    Cible : mcserveur2.serveur.com
    poid : 0
    priorité : 0

    Laissé le temps au DNS de se rafraichir et voilà le travail.
    Ceci fonctionne avec Minecraft, je ne sais pas si ça fonctionnera avec d'autre type d'application...
    Si jamais quelqu'un à l'explication de pourquoi ça marche (j'ai lu que les DNS n'avait pas de notion de port et donc que c'était impossible) je suis preneur aussi !

    Merci à vous

    -
    Edité par Kunshuu 17 juin 2020 à 0:26:16

    • Partager sur Facebook
    • Partager sur Twitter
      17 juin 2020 à 17:03:40

      Bonjour,

      Déplacement vers un forum plus approprié

      Le sujet est déplacé de la section Problèmes techniques vers la section Vos réseaux

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        17 juin 2020 à 19:58:55

        Bonjour,

        Kunshuu a écrit:

         Est ce que les vhosts et reverse proxy ne fonctionne qu'avec le protocole http/https ?

        Non, un reverse proxy n'est pas réservé aux protocoles HTTP/HTTPS. Mais c'est là où ils sont le plus utilisé.

        Nginx par exemple prend en charge d'autres protocoles comme SSH ou DNS (https://nginx.org/en/docs/stream/ngx_stream_core_module.html).

        Un reverse proxy sert aussi à faire améliorer la disponibilité, à répartir la charge, à contrôler le flux, à améliorer la sécurité, etc...

        Pour ce qui est de vhosts, si tu parles d'Apache, aucune idée! Mais oublie Apache pour faire ce genre de chose, ce n'est pas adapté de toute manière.

        Pour les enregistrements SRV:

        j'ai lu que les DNS n'avait pas de notion de port et donc que c'était impossible

        C'est un peu le problème d'internet, faut vérifier ses sources. Février 2000: https://tools.ietf.org/html/rfc2782

        Ça fonctionne donc avec d'autres services. C'est au niveau applicatif que ça se passe. Dans le cas de Minecraft, je trouve qu'ils ont été intelligent de le prendre en charge, vu que simplifie la gestion de plusieurs serveurs.

        • Partager sur Facebook
        • Partager sur Twitter

        Reverse proxy sur autre chose que du web ?

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown