OS X bloqueia chamadas para serviços locais

4

Acessar serviços locais, como a configuração do CUPS baseada na Web (porta 631) ou o Apache Tomcat (porta 8080) com algo diferente de http://localhost:<port> , falha. No entanto, fazer o mesmo com o Apache httpd que veio com o OS X funciona muito bem. O que está acontecendo aqui?

http://192.168.1.5:631/ - fails

http://localhost:631/ - works

http://192.168.1.5:8080/ - fails

http://localhost:8080/ - works

http://192.168.1.5:80/ - works!!!

http://localhost:80/ - works

Eu entendo que 'localhost' usa a interface de rede de loop-back enquanto 192.168.1.5 não usa. Então, em teoria, é possível que o firewall do OS X interfira. No entanto, os logs não mostram solicitações descartadas. Além disso, o comportamento é exatamente o mesmo com o firewall desligado.

    
por Marcel Stör 14.08.2010 / 22:35

2 respostas

2

Sim, eu não sabia que uma porta não está necessariamente vinculada a nenhum endereço ou interface, mas a um endereço específico.

CUPS

Por padrão, a configuração do CUPS é vinculada ao host local. Veja a configuração em /private/etc/cups/cupsd.conf:

# Only listen for connections from the local machine.
Listen localhost:631
Listen /private/var/run/cupsd 

Se você ativar o compartilhamento de impressoras em Preferências - > O compartilhamento do CUPS estará disponível fora do host local também.

Tomcat

Ainda não sei qual configuração faz com que o Tomcat seja vinculado apenas ao host local. No entanto, por enquanto eu configurei o mod_jk para colocar o Tomcat atrás do Apache.

    
por 24.08.2010 / 07:59
0

Uma porta de escuta pode ser vinculada a um endereço de interface específico ou a qualquer endereço.

Experimente o comando: netstat -anp TCP

(Pode ser um pouco diferente - não estou na frente de um Mac agora. Você deseja exibir todas as portas TCP de escuta e seus endereços numéricos.)

Você deve ver algo como:

TCP 0.0.0.0:80 ...

TCP 127.0.0.1:631 ...

Um número de porta precedido por 0.0.0.0 significa que ele aceitará uma conexão de qualquer lugar. Se precedido por 127.0.0.1, isso significa que aceitará apenas uma conexão da interface de loopback.

    
por 23.08.2010 / 22:07