Redirection d’une API Rails vers le Port 80

Redirection d’une API Rails vers le Port 80

Bonjour à tous,

L’astuce du jour pour les utilisateurs de Ruby On Rails.
Actuellement je développe une application sous Ruby On Rails. Je me suis retrouvé avec un problème simple auquel je n’avais pas pensé.
Mon API étant hébergé sur un VPS OVH et suite à un Crash serveur, j’ai étais obligé de le redémarrer (via l’interface OVH). Mais au lancement de Rails mon site n’est plus accessible sur le port 80 car de base Rails utilise le port 3000.
Pour résoudre ce problème sur un système UNIX il existe une méthode très simple.

Commençons par accéder à notre serveur OVH avec une connexion SSH. Nous allons avoir besoin de trois informations:

  • Nom d’utilisateur
  • L’adresse IP (exemple: 192.168.0.1)
  • Port (port standard SSH : 22)
  • Il ne nous reste plus cas ouvrir un Terminal et taper la commande suivant

    $ ssh (user_name)@(adresse_ip) -p(mon_port)

    Exemple:

    $ ssh root@192.168.0.1 -p22

    Maintenant si mon Application Rails n’est pas lancée je peux me diriger dans le dossier de celle-ci et exécuter les commandes suivante

    $ cd mon_api/
    $ rails s -b adresse_ip -d

    Avec l’option -b mon application sera lancée en tache de fond.

    Dernière étape et le point central de cette brève la redirection. Pour cela nous utiliserons la commande iptables. Vous pouvez vous référencer au man pour en savoir plus

    $ sudo iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 3000

    Et voilà notre application peux de nouveau être écoutée sur le port 80 et plus besoin de http://mon-site.com:3000 pour lancer mon site

    Add your comment

    No comments so far. Be first to leave comment below.

    Votre adresse de messagerie ne sera pas publiée.