Este é o problema - sua saída netstat mostra o serviço escutando em localhost em vez de um IP acessível externamente:
127.0.0.1:8081
Edite o serviço para ouvir um (ou 'qualquer') IP e reinicie-o.
Eu tenho duas caixas do CentOS 7, chamadas Turbo e Demo. Eu iniciei um daemon / serviço no primeiro, o Turbo, e gostaria de chamar o serviço do segundo, o Demo. Eu iniciei o serviço para monitorar a porta 8081. Outro daemon usa a porta 8080, então pensei em usar a próxima porta, 8081.
Nenhuma caixa tem o daemon de firewall, FirewallD
, em execução.
Adicionei uma entrada ao iptables e reiniciei o sistema. Aqui está o conteúdo do arquivo.
# Generated by iptables-save v1.4.21 on Tue Nov 10 13:00:36 2015
*filter
:INPUT ACCEPT [900:143014]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [781:136535]
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8081 -m comment --comment "DataMover Service Port" -j ACCEPT
COMMIT
# Completed on Tue Nov 10 13:00:36 2015
Este é o resultado esperado ao tentar abrir a porta usando o Firewall (desativado).
[root@Turbo Downloads]# firewall-cmd --permanent --add-port=8081/tcp
FirewallD is not running
O comando curl que usei é:
[hts@jmr-server2 raid1]$ curl -H "Accept: application/xml" "http://192.168.20.88:8081/base/TestService/sayHello"
Eu fiz uma pesquisa no Google e a maioria dos resultados indicam a possibilidade de editar o iptables ou abrir a porta no firewall.
Eu olhei este site , que indica números de porta comuns para o CentOS.
Ele declara o seguinte para as duas portas:
8080 webcache World Wide Web (WWW) caching service
8081 tproxy Transparent Proxy
Por solicitação, aqui está o resultado de iptables -L
.
[root@Turbo Downloads]# service iptables restart
Redirecting to /bin/systemctl restart iptables.service
[root@Turbo Downloads]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:tproxy /* TestService Service Port */
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@Turbo Downloads]#
Aqui estão as perguntas:
[root@Turbo Downloads]# netstat -nap|grep 8081
tcp6 0 0 127.0.0.1:8081 :::* LISTEN 7272/java
[root@Turbo Downloads]#
Estou fazendo testes usando o host local, mas quero dar o próximo passo e ir para uma máquina diferente. Aqui está um resultado de host local:
[root@Turbo Downloads]# curl -H "Accept: application/xml" "http://localhost:8081/base/TestService/getHello"
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Eu iniciei o serviço a partir de uma janela de terminal. Eu não estou no ponto onde estou carregando o serviço automaticamente.
O acesso à curva de um servidor para o outro só é possível na porta 8080 e não está usando uma porta diferente ou há algum outro problema?