Rails 4.2에 할당 된 포트에 액세스 할 수 없지만 4.04는 제대로 작동합니다


8

Ruby 2.1.2와 Rails 4.2가 설치되어 있습니다.

번들 설치는 오류없이 실행됩니다.

Rails C를 오류없이 수행 할 수 있습니다.

Rails s -p3004가 webrick 또는 thin없이 오류없이 시작

mytestsite : 3004 safari, firefox 및 chrome을 탐색하면 "서버에 연결할 수 없습니다"라는 모든 보고서가 표시됩니다.

시스템 로그에 오류가 표시되지 않습니다. syslog, lfd.log, auth.log 또는 모든 아파치 로그.

4.04 사이트를 시작하면 포트 3001, 3002가 제대로 작동합니다. 4.04를 중단하고 포트 3001 또는 3002에서 4.2를 시작하면 '서버에 연결할 수 없습니다'라는 오류가 발생합니다. 이것은 포트를 차단하는 방화벽 문제가 아니라는 것을 의미합니다. 그럼에도 불구하고 iptables -L은 포트 3004가 열려 있다고보고합니다.

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

레일즈 보고서 :

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

(얇은 결과와 동일).

Telnet localhost 3004는 서버에서 작동하지만 다른 서버에서 포트 및 IP 주소로의 Telnet은 연결이 거부됩니다.

ps는 프로그램이로드되었다고보고합니다.

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

또한 netstat에 의해 확인됩니다.

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

그러나 mmap은 포트가 닫혀 있다고보고합니다.

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  

그리고 서버 (3004) 로의 텔넷은 연결 거부를보고한다.

내가 말했듯이 Rails 4.04와 함께 작동하는 것으로 알려진 포트 3001로 변경하면 4.2에서 실패한다는 것을 제외하고는 방화벽 문제라고 생각합니다. 누구든지 제안이 있습니까?

답변:


16

WEBrick은 INADDR_ANY가 아닌 127.0.0.1에 바인딩되므로 해당 주소를 통해서만 액세스 할 수 있습니다. 바인딩 할 주소를 설정하려면 -b옵션을 사용하십시오 . 예를 들면 다음과 같습니다.

rails s -b 0.0.0.0 -p 3004
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.