Recentemente ho avuto un problema con le mie istanze AWS EC2. Il problema è che non posso colpire i miei server Rails tramite IP pubblico, ma posso colpire localhost e il server risponderà.Impossibile connettersi al server Rails in esecuzione su EC2 da IP pubblico
Ecco quello che sto facendo:
- Creare nuova istanza EC2 (t2.micro, tier ubuntu libero)
- gruppo Sicurezza ha la porta 22, 80, 3000 aperto a tutti (0.0.0.0)
- SSH per istanza EC2, install rails (ho usato this installare)
- Inizio guide del server dopo l'installazione, è in esecuzione sulla porta 3000
- run "wget localhost: 3000" e ritorna index.html , Sìì!
- passare al browser Web, digitare EC2 istanza IP pubblico e porta 3000 (IP: 3000), dice che non può connettersi :(
- server kill kill, riavviarlo sulla porta 80, wget funziona ma puo ' t collegare tramite IP pubblico
- come un controllo di integrità, installo nginx e corro, e posso vedere la pagina iniziale nginx sulla porta 80 tramite IP pubblico ... così confusa ...
così Penso che abbia qualcosa a che fare con il modo in cui sto installando Rails, ma ho provato metodi diversi dall'usare quello script di installazione ma sto incontrando lo stesso problema ... Ho anche provato a creare un ente fare affidamento su un nuovo account AWS nel caso avessi rovinato le impostazioni nel mio account originale, ma non ho avuto fortuna. Sono stato in precedenza in grado di far funzionare correttamente le guide su istanze EC2 (in effetti ho istanze EC2 che utilizzano lo stesso gruppo di sicurezza in esecuzione sul mio account AWS in questo momento e può colpire quegli IP pubblici bene), ma ora sto sbattendo la testa contro il muro ... qualsiasi aiuto sarebbe molto apprezzato!
EDIT: Per ora, ho configurato nginx per colpire il mio server di rotaie ... almeno questo funziona per ora ... anche se sono ancora curioso di sapere perché non riesco a colpire il mio server direttamente ..
È probabile che anche necessario aprire il firewall di Ubuntu per consentire la porta 80 e/o 3000. http://serverfault.com/ domande/574491/opening-port-80-on-ubuntu-aws – infused
Ho eseguito 'ufw status' e dice che è inattivo. L'output di 'iptables -L' è il seguente: ' root @ ip-172-31-3-171:/home/ubuntu/blah # iptables -L INPUT catena (politica ACCETTA) destinazione target destinazione opt opt ACCEPT tcp - ovunque ovunque tcp dpt: http! – spacemonkeys