J'ai une application Rails. Si je commence avec Utilisation des deux applications minces en tant que serveur d'applications. P>
Est-ce quelque chose lié à la façon dont Sinatra fonctionne? P> rails s code> (Port 3000), il fonctionne parfaitement sur ma machine et chaque appareil de mon réseau local via l'adresse IP (192.168.0.3 dans mon cas).
J'ai une application SINATRA. Si je commence avec ruby app.rb code> (port 4567), cela fonctionne parfaitement sur ma machine, mais elle n'est pas accessible à partir d'autres périphériques sur mon réseau local. P>
p>
3 Réponses :
essayer ruby app.rb -o 0.0.0.0 code> ou
ruby app.rb -e production code>. Soit devrait fonctionner. P>
Permettez-moi d'ajouter des informations supplémentaires à la réponse d'Ivan. Sinatra's Readme sur la ligne de commande indique:
Sinatra applications can be run directly: ruby myapp.rb [-h] [-x] [-e ENVIRONMENT] [-p PORT] [-o HOST] [-s HANDLER] Options are: -h # help -p # set the port (default is 4567) -o # set the host (default is 0.0.0.0) -e # set the environment (default is development) -s # specify rack server/handler (default is thin) -x # turn on the mutex lock (default is off)
Le document est incorrect sur l'hôte par défaut, au moins en mode de développement.
Voulez-vous simplement ajouter à la réponse d'Ivan et à la clarification de Robert. P>
Par défaut, vous SINATRA fonctionne en mode de développement et non en mode de production. En mode développement, l'hôte par défaut auquel Sinatra va se lier est «localhost», ce qui signifie que seule la machine locale peut interagir avec elle. P>
Une fois que vous avez spécifié «-E Production» Votre webApp SINATRA est en mode de production, où l'hôte par défaut qu'il lie à 0.0.0.0, ce qui signifie qu'il peut interagir avec tous les autres. P>
Alternativement, si vous souhaitez rester en développement, spécifiez '-O 0.0.0.0' P>
duplicaté possible de Impossible d'accéder au serveur Sinatra local d'un autre ordinateur sur le même réseau