Não é possível acessar o MongoDB da Internet

2

Estou usando o banco de dados MongoDB, que é instalado com o endereço IP 126.22.252.25. A informação da versão do Ubuntu é 12.04.3 LTS.

Meu MongoDB usa a porta 27017 padrão. Nesta máquina local, posso usar o comando mongo --host 126.22.252.25 na máquina local para acessar, mas não posso usar esse comando em nenhuma outra máquina Linux para acessar o MongoDB, nem posso usar telnet 126.22.252.25 27017 em minha máquina Windows.

Tenho certeza de que 126.22.252.25 machine está acessível na Internet porque posso usar winSCP e secureCRT para fazer login. Se eu executar o comando netstat -tnlp , ele mostrará:

tcp        0      0 0.0.0.0:27017           0.0.0.0:*               LISTEN

Eu já alterei o arquivo /ect/mongodb.conf , modificando o parâmetro bind_ip de 0.0.0.0 para 126.22.252.25 .

O que mais posso fazer?

    
por VicoWu110 07.11.2013 / 04:38

2 respostas

-1

Estar no endereço de ligação para 0.0.0.0 significa que o serviço está escutando em todas as interfaces disponíveis para a máquina. Nesse caso, não é necessário alterar explicitamente o bind_ip (que, aliás, é a opção que você poderia fazer isso a partir de) para corresponder a um endereço que seria acessível.

O mais provável é que o seu problema aqui seja que existem regras de firewall externas em execução no seu provedor de hospedagem ou configuradas de outra forma na sua rede. Eles estariam bloqueando explicitamente, ou apenas permitindo tráfego explicitamente permitido para se comunicar com o mundo externo da Internet. Ou, em outro caso, você pode até mesmo ter essa porta bloqueada de onde você está tentando acessar seu servidor.

O bloqueio de portas é comum, e a maioria dos administradores deixa as coisas abertas apenas para um subconjunto de portas típicas, http etc etc. Mas ter um serviço disponível não significa automaticamente que você obtenha outro para livre .

Assim, você provavelmente precisaria verificar que as portas de acesso do servidor e do cliente estão disponíveis em ambas , para que você fale para o MongoDB.

Dito isto, você provavelmente não deve fazer isso, pois expor seu banco de dados ao mundo é uma idéia ruim . Se você realmente precisa de ferramentas para se conectar a partir de locais remotos, então é melhor encapsular em algo como ssh que será mais suportado nos protocolos permitidos, e é consideravelmente mais seguro.

    
por 17.02.2014 / 11:27
-1

Tente este aqui

O primeiro é usar uma porta não padrão. Isso é mais uma técnica de ofuscação e significa simplesmente que os adaptadores de conexão padrão não funcionarão.

No seu arquivo de configuração do MongoDB, altere a seguinte linha para algo diferente de 27017

port = 27017

Em segundo lugar, você desejará vincular o Mongo diretamente ao endereço IP do seu servidor de aplicativos. A configuração para 127.0.0.1 garantirá que o Mongo só aceite conexões localmente.

No seu arquivo de configuração do MongoDB, altere a seguinte linha para o endereço IP do seu servidor de aplicativos

 bind_ip = 127.0.0.1

Por último, considere o uso do recurso de autenticação do MongoDB e defina um nome de usuário e senha. Para configurar isso, conecte-se ao shell do MongoDB como administrador com o comando mongo e adicione um usuário. Uma vez feito isso, certifique-se de adicionar o nome de usuário / senha recém-adicionado às strings de conexão do MongoDB.

    
por 27.10.2015 / 06:25