A porta do Apache 8080 não está escutando - Possíveis problemas de firewall

1

Estou executando um servidor EC2 com o Ubuntu 14.04 & apache, e eu tenho um aplicativo que usa o plug-in websocket Ratchet para CakePHP. Eu tenho este trabalho bem no localhost e queria testar o aplicativo em um servidor. Quando eu SSH no meu servidor e inicie o script de shell ele corre bem. No entanto, quando eu realmente ir para a página que usa a conexão websocket, na guia de rede no chrome, ele mostra websocket (pendente) e, em seguida, ele falha com o seguinte erro

WebSocket connection to 'ws://my.ip.address:8080/websocket' failed: Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT

Eu usei telnet my.server.ip.address 80 e conectei com sucesso. Eu também era capaz de se conectar à porta 22, mas promplty começou devido a "incompatibilidade de protocolo". Eu tentei a mesma coisa, mas na porta 8080 e tenho um tempo limite de conexão.

Consegui conectar-me à porta 8080 fazendo ssh no meu servidor e usando telnet 127.0.0.1 8080 . Eu não posso fazer isso de um computador externo, apenas do endereço local de uma conexão SSH. Eu usei sudo tcpdump -i any port 8080 em um terminal separte que eu estava conectado via SSH, e o tráfego da minha conexão telnet mostrou. Portanto, acredito que a porta 8080 esteja aberta e eu possa conectar por dentro, mas, apesar do que o UFW mostra, todo o tráfego externo para a porta 8080 parece estar bloqueado.

Ao desenvolver em localhost, se eu esquecer de ativar o servidor websocket, recebo o mesmo erro de tempo limite de conexão.

Quando uso nmap -p 8080 my.server.ip.address , mostra o estado como filtrado. Quando faço o mesmo para a porta 80, mostra o estado como aberto.

No meu servidor, iniciei o websocket e, em seguida, no terminal In, usei netstat -ntlp | grep LISTEN , o que realmente mostra que a porta 8080 está escutando.

tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      3532/php      

Quando eu paro o websocket e executo o comando netstat novamente, ele desaparece

Na minha máquina local (na qual o websocket funciona), abri outro terminal e usei sudo tcpdump -i any port 8080 para monitorar o tráfego ativo. Eu abri meu navegador e, claro, todo o tráfego através do websocket foi capturado. Eu fiz exatamente a mesma coisa no meu servidor e não havia atividade exibida.

Depois de algumas pesquisas, encontrei alguém na página do Ratchet Plugin github que parecia ter um problema semelhante. O criador do plug-in respondeu Hey, regarding your first comment is that if you pass it through a webserver you have to set it up to proxy the websocket connections to Ratchet. , mas não tenho certeza do que isso significa. Isso é em referência a uma porta escutando, ou significa outra coisa?

Aqui está meu status UFW

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
2222/tcp                   ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
8080/tcp                   ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
2222/tcp (v6)              ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
8080/tcp (v6)              ALLOW       Anywhere (v6)
    
por user1104854 10.09.2015 / 02:27

2 respostas

2

Sua porta não está aberta no seu grupo de segurança do EC2. Verifique seu console ec2 para abrir a porta com o grupo de segurança vinculado ao servidor.

    
por 10.09.2015 / 22:11