No OpenFire, por que as solicitações de autorização de amigos não estão aparecendo?

1

No Ubuntu 16.04 (DigitalOcean), instalei o OpenFire 4.2.1. Até agora, ainda não configurei o SSL, mas consegui:

  1. Conecte-se ao Admin Console da web em casa
  2. Crie alguns usuários
  3. Use o cliente Miranda IM Windows e o cliente Pidgin Windows para se conectar ao servidor e obter o status "online"
  4. Encontre outros usuários e adicione-os à minha lista de contatos / amigos

O que não posso fazer é receber solicitações de autorização entre usuários.

eu corri:

tcpdump -n -i eth0 'tcp and (port 5222 or port 5269 or port 5280)'

Em seguida, enviei uma solicitação de "re-solicitação de autorização" de um amigo para outro e obtive esta saída:

23:09:12.295932 IP {IP-of-server}.5222 > {IP-of-requester}.56898: Flags [.], ack 158, win 191, length 0
23:09:12.358987 IP {IP-of-server}.5222 > {IP-of-requester}.56898: Flags [P.], seq 241:481, ack 158, win 191, length 240
23:09:12.492207 IP {IP-of-requester}.56898 > {IP-of-server}.5222: Flags [.], ack 481, win 255, length 0

Então, parece que o servidor está recebendo o pedido de autorização, sim? Existe um próximo passo (s) para diagnosticar o problema? Estou sentindo falta de algo simples?

Meu servidor não é muito afetado, então assumi o risco e rapidamente desativei seu firewall e tentei enviar novamente a solicitação de autorização, mas isso não pareceu fazer com que o destinatário respondesse.

Deixe-me saber se estou deixando de fora informações cruciais que ajudarão você a me ajudar.

    
por Craig Silver 12.02.2018 / 08:19

1 resposta

0

Bem, eu fiz um monte de coisas e agora funciona, então é um daqueles casos de não saber qual (ais) consertou, mas para o benefício dos outros, aqui está o que eu fiz:

  1. Adicionar registros SRV ao meu DNS

No console da web de administração do OpenFire, não notei um aviso em Servidor | Gerenciador de Servidores | Informações do servidor: "Nenhum registro SRV do DNS para este host foi encontrado". Debaixo disso, havia muitas informações úteis sobre a necessidade de registros SRV do XMPP, das quais eu nunca tinha ouvido falar antes. Em suma, é um mecanismo para encaminhar o tráfego de um domínio para outro que o XMPP às vezes requer (quando o servidor DNS e XMPP não estão hospedados no mesmo servidor, aparentemente). Algumas coisas a serem observadas: verifique se o formato do registro SRV está correto porque não é óbvio; Usando o Netfirms como meu domínio e provedor de DNS, eu tive que obter seu suporte técnico para adicionar os registros SRV porque dentro do Netfirms, não há como gerenciá-los.

  1. Em todos os clientes XMPP, alterei as informações da conta.

Especificamente, para as informações de nome de usuário, em vez de usar xmpp.mydomain.com, usei mydomain.com. Por exemplo, para um nome de usuário de joe.blow, eu inseri [email protected] em vez de [email protected]. Não foi minha preferência, mas eu meio que suspeito que isso é o que fez funcionar.

Até hoje, ainda estou confuso sobre todas as propriedades do servidor XMPP: XMPP Domain Name vs. Server Host Name (FQDN) . Por que precisa de ambos? Por que não pode simplesmente usar o FQDN?

Eu sei que isso não é sobre a questão, mas ...

Mais uma dica do OpenFire, para o caso de alguém ter dificuldades, como eu, conseguindo acesso seguro ao seu portal de administração na web. Se você estiver usando o Let's Encrypt para seus certificados e tiver a sorte de também estar executando o Apache no mesmo servidor, em vez de tentar obter o OF para aceitar o certificado xmpp.meudominio.com para que possa acessar seu portal de administração via link , você pode usar o Apache como um proxy reverso. É muito mais fácil levantar-se e renovar automaticamente um servidor web Apache com um certificado Let's Encrypt - pelo menos é o que encontrei.

Seu arquivo conf do Apache pode ter esta aparência (incluindo um redirecionamento para http para https):

<IfModule mod_ssl.c>
<IfModule mod_proxy.c>

<VirtualHost *:443>
    ServerName xmpp.mydomain.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/xmpp

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    SSLEngine On
    SSLCertificateFile /etc/letsencrypt/live/xmpp.mydomain.com/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/xmpp.mydomain.com/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateChainFile /etc/letsencrypt/live/xmpp.mydomain.com/chain.pem

    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:9090/
    ProxyPassReverse / http://127.0.0.1:9090/

</VirtualHost>

</IfModule>
</IfModule>

<VirtualHost *:80>

    ServerName xmpp.mydomain.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/xmpp

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https: //%{HTTP_HOST}%{REQUEST_URI} [R,L]

</VirtualHost>
    
por 18.02.2018 / 00:18