Diferença entre conectar-se ao 127.0.0.1 e o ip do servidor

0

Eu sou novo em php, bancos de dados e linux e tive um problema onde eu não conseguia me conectar ao mysql databse com a função php mysql_connection. Quando eu usei o endereço IP da minha VM eu continuo recebendo uma falha de conexão.

Após uma hora de percorrer a estrutura de diretórios do linux, encontrei / etc / hosts / e notei dois endereços IP. Meu endereço de loopback e 127.0.1.1. Apenas para o inferno que eu usei 127.0.1.1 e eu era capaz de se conectar ao meu banco de dados e puxar os dados que solicitei. Eu não entendo porque 127.0.1.1 funcionou, mas não o ip do meu servidor vm.

Algum poderia explicar qual é o significado de 127.0.1.1? Pelo que li, resolve o nome do host do meu aparelho, mas não entendo o que isso significa.

    
por newlinuxuser 14.07.2014 / 00:21

1 resposta

0

Os endereços IP associados à rede 127.0.0.0/8 são reservados para uso somente na comunicação com a máquina local. Um dos propósitos deste é permitir que o software dentro de um sistema use TCP / IP para comunicação entre processos antes que qualquer uma das interfaces de rede física tenha sido configurada para TCP / IP.

Quando o software do servidor é iniciado, ele pode escolher um endereço IP específico a ser associado. Como um recurso de segurança, muitos serviços serão vinculados ao endereço 127.0.0.1 ou a alguma rede '' 127.0.0.0/8 '', em vez de escutar conexões em endereços IP associados às interfaces de rede. Isso torna esses serviços específicos acessíveis apenas pelo próprio sistema.

Mysql no Ubuntu é um exemplo disso. Dentro do /etc/mysql/my.cnf tem uma configuração na configuração padrão de bind-address = 127.0.0.1 . Isso significa que o daemon do mysql só é utilizável localmente, a menos que você altere manualmente essa configuração. Simplesmente comentando a linha '' bind-address ', fará com que o mysql padrão escute em todos os IPs associados ao seu sistema.

    
por 14.07.2014 / 04:15