Por que posso buscar do servidor da web via loopback, mas não por IP?

1

Eu tenho um servidor web ( Thin ) rodando em uma porta não padrão na minha caixa Ubuntu 10.04 Server. Eu posso acessar o servidor web através da interface de loopback, mas não o IP público. Por que e como corrijo a configuração para que outras máquinas na LAN possam acessá-la?

phrogz@planar:~$ curl -s -I http://localhost:9011/login | grep HTTP
HTTP/1.1 200 OK

phrogz@planar:~$ curl -s -I http://192.168.0.84:9011/login | grep HTTP
phrogz@planar:~$ curl -I http://192.168.0.84:9011/login
curl: (7) couldn't connect to host

phrogz@planar:~$ ifconfig eth0 | grep "inet addr"
          inet addr:192.168.0.84  Bcast:192.168.0.255  Mask:255.255.255.0

phrogz@planar:~$ ping 192.168.0.84
PING 192.168.0.84 (192.168.0.84) 56(84) bytes of data.
64 bytes from 192.168.0.84: icmp_seq=1 ttl=64 time=0.020 ms
64 bytes from 192.168.0.84: icmp_seq=2 ttl=64 time=0.013 ms
^C
--- 192.168.0.84 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.013/0.016/0.020/0.005 ms

phrogz@planar:~$ uname -a
Linux planar 2.6.32-33-server #71-Ubuntu SMP Wed Jul 20 17:42:25 UTC 2011 x86_64 GNU/Linux
    
por Phrogz 04.08.2011 / 05:39

1 resposta

4

Aposto que netstat -ltn mostrará que o seu thin está escutando 127.0.0.1 e não 0.0.0.0 (ou o que você quiser). Enquanto você não quer realmente escutar em INADDR_ANY (procurá-lo através de um servidor web real, por favor), você pode conseguir isso usando -a 0.0.0.0 na fina linha de comando (ou -o 0.0.0.0 se você estiver fazendo a coisa certa e usando rackup ).

Se esse não for o caso, eu vou levar 10 bob cada vez em suas regras de iptables atrapalhando; instruções exatas para correção que estão além do que pode ser fornecido dadas as informações disponíveis, mas presumivelmente você sabe o suficiente sobre seus próprios sistemas para ajustar regras de firewall.

    
por 04.08.2011 / 05:44