Tidak dapat mengakses port yang ditetapkan untuk Rails 4.2, tetapi 4.04 berfungsi dengan baik

8

Saya telah menginstal Ruby 2.1.2 dan Rails 4.2.

Instalasi bundel berjalan tanpa kesalahan.

Saya dapat melakukan Rails C tanpa kesalahan.

Rails s -p3004 diluncurkan dengan webrick atau thin tanpa kesalahan

Ketika saya menjelajah ke mytestsite: 3004 safari, firefox, dan chrome semua laporan "tidak dapat terhubung ke server"

Tidak ada kesalahan yang ditampilkan di log sistem apa pun; syslog, lfd.log, auth.log, atau salah satu dari log apache.

Jika saya meluncurkan situs 4.04 saya, port 3001, 3002 berfungsi dengan baik. Jika saya menurunkan 4.04, dan meluncurkan 4.2 di port 3001 atau 3002, saya mendapatkan kesalahan 'tidak dapat terhubung ke server'. Bagi saya ini sepertinya berarti bahwa itu bukan masalah firewall yang memblokir port. Meskipun demikian, iptables -L melaporkan port 3004 terbuka:

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

Laporan rel:

=> 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  

(hasil yang sama dengan tipis).

Telnet localhost 3004 berfungsi dari server namun telnet dari server lain ke port dan hasil ip address dalam koneksi ditolak.

dan ps melaporkan program dimuat:

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

yang juga dikonfirmasi oleh netstat:

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

tapi mmap melaporkan port ditutup:

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  

Dan telnet ke server 3004 melaporkan koneksi menolak.

Seperti yang saya katakan, saya pikir itu adalah masalah firewall kecuali bahwa mengubah ke port 3001, yang saya tahu untuk bekerja dengan Rails 4.04, gagal dengan 4.2. Ada yang punya saran?

UnConundrum
sumber

Jawaban:

16

WEBrick terikat ke 127.0.0.1 daripada ke INADDR_ANY, jadi Anda hanya dapat mengaksesnya melalui alamat itu. Jika Anda ingin mengatur ke alamat mana ia berikatan, gunakan -bopsi. Sebagai contoh:

rails s -b 0.0.0.0 -p 3004
Michael Hampton
sumber