Ich kann nicht auf Ports zugreifen, die Rails 4.2 zugewiesen sind, aber 4.04 funktioniert einwandfrei

8

Ich habe Ruby 2.1.2 installiert und Rails 4.2.

Die Bundle-Installation läuft fehlerfrei.

Ich kann ein Rails C ohne Fehler machen.

Rails s -p3004 startet ohne Fehler mit Webrick oder Thin

Wenn ich zu mytestsite navigiere: 3004 Safari, Firefox und Chrome berichten alle, dass keine Verbindung zum Server hergestellt werden kann.

In den Systemprotokollen werden keine Fehler angezeigt. syslog, lfd.log, auth.log oder eines der Apache-Protokolle.

Wenn ich meine 4.04-Site starte, funktionieren die Ports 3001, 3002 einwandfrei. Wenn ich 4.04 herunterfahre und 4.2 auf Port 3001 oder 3002 starte, wird der Fehler "Verbindung zum Server kann nicht hergestellt werden" angezeigt. Dies scheint mir zu bedeuten, dass es sich nicht um ein Firewall-Problem handelt, das den Port blockiert. Iptables -L meldet jedoch, dass Port 3004 geöffnet ist:

ACCEPT     tcp  --  anywhere             anywhere             ctstate NEW tcp dpt:3004

Schienenberichte:

=> Booting WEBrick  
=> Rails 4.2.0.beta1 application starting in development on http://localhost:3004   
=> Run `rails server -h` for more startup options  
=> Ctrl-C to shutdown server  
[2014-09-02 21:31:06] INFO WEBrick 1.3.1  
[2014-09-02 21:31:06] INFO ruby 2.1.1 (2014-02-24) [x86_64-linux]  
[2014-09-02 21:31:06] INFO WEBrick::HTTPServer#start: pid=4599 port=3004  

(gleiches Ergebnis mit dünn).

Telnet localhost 3004 funktioniert vom Server aus, Telnet von einem anderen Server zum Port und zur IP-Adresse führt jedoch dazu, dass eine Verbindung abgelehnt wird.

und ps meldet, dass das Programm geladen ist:

ps aux|grep 3004  
user 1062 0.0 0.5 578600 183996 pts/2 Sl+ 20:15 0:03 /home/user/.rvm/rubies/ruby-    2.1.1/bin/ruby bin/rails s -p3004

was auch von netstat bestätigt wird:

netstat -tpln | grep 3004  
tcp 0 0 127.0.0.1:3004 0.0.0.0:* LISTEN 1062/ruby  

mmap meldet jedoch, dass der Port geschlossen ist:

Starting Nmap 6.40 ( http://nmap.org ) at 2014-09-02 21:33 UTC  
Nmap scan report for localhost (127.0.0.1)  
Host is up (0.000059s latency).  
rDNS record for 127.0.x.1: local_host.local_domain  
PORT STATE SERVICE  
3004/udp closed unknown  

Und ein Telnet zum Server 3004 meldet, dass die Verbindung abgelehnt wurde.

Wie gesagt, ich würde denken, es war ein Firewall-Problem, außer dass der Wechsel zu Port 3001, von dem ich weiß, dass er mit Rails 4.04 funktioniert, mit 4.2 fehlschlägt. Hat jemand irgendwelche Vorschläge?

UnConundrum
quelle

Antworten:

16

WEBrick ist an 127.0.0.1 und nicht an INADDR_ANY gebunden, sodass Sie nur über diese Adresse darauf zugreifen können. Wenn Sie festlegen möchten, an welche Adresse es gebunden wird, verwenden Sie die -bOption. Zum Beispiel:

rails s -b 0.0.0.0 -p 3004
Michael Hampton
quelle