configurando o servidor para receber tráfego em um endereço IP específico

0

Eu tenho um programa Go (programa completo nesta essência link ) que quando eu corro na minha máquina local, inicio um servidor e manipula duas rotas localhost: 8080 e localhost: 8080 / login. Ele faz isso ouvindo e servindo na porta 8080

err := http.ListenAndServe(":8080", nil)

Eu instalei o Go em um servidor Ubuntu e consigo rodar o programa, no entanto, quando eu vou para os meus endereços IP 107.170.XX.XX: 8080 e / ou 107.170.XX.XX: 8080 / login, meu navegador aparece para tentar se conectar e, em seguida, recebo uma mensagem informando que uma página não está disponível

Eu assumi que meu endereço IP no servidor remoto era, com a finalidade de executar este programa, semelhante ao localhost em minha máquina local, em que se eu simplesmente executasse o programa Go em minha máquina local e pudesse visualizá-lo no navegador , eu não deveria ser capaz de fazer o mesmo na máquina remota, indo para o endereço IP?

Existe algum outro tipo de configuração que eu preciso configurar para se conectar ao programa no meu endereço IP?

Note que, quando eu configurei as tabelas ip, foi feito para receber conexões na porta 22 para o SSH e 80 para o tráfego da web.

    
por Leahcim 28.07.2014 / 22:10

1 resposta

0

O problema com os navegadores modernos é que eles ocultam a mensagem de erro subjacente em prol da facilidade de uso.

Tente usar o telnet para acessar seu programa

telnet 107.170.xxx.xx 8080

Se expirar, você provavelmente estará protegido por firewall. Se ele retornar imediatamente, então seu programa não está corretamente vinculado no servidor Ubuntu ou um firewall rejeita sua solicitação.

Nota: Você escreveu que permitiu a porta 80 do firewall, mas ainda assim, o seu programa está no 8080. Assim, você estaria protegendo seu programa de todos.

Verifique o netstat no servidor para ver onde o seu programa está vinculado:

netstat -tulpen

Isto lista todos os programas com sockets de escuta abertos ao longo dos seus processid / nomes (se você é root ou proprietário deles). Se o seu programa estiver ligado a um dos endereços externos ou à porta efêmera "::", ele só poderá ser o firewall.

Se o seu programa estiver escutando em 127.0.0.1, ele só será acessado no mesmo sistema.

    
por user309427 28.07.2014 / 22:25