Instância do Discourse atrás do firewall F5 está produzindo "a URL solicitada foi rejeitada."

community.subtchallenge.com é uma instalação de terceiros do Discourse que quero usar como usuário. Passei horas tentando descobrir por que não consigo postar no fórum deles. Testei diferentes navegadores, computadores, sistemas operacionais, endereços IP, continentes… O resultado ao clicar no botão “Criar Postagem” foi sempre um dos seguintes (independentemente das opções mencionadas anteriormente):

  1. A postagem foi corretamente enfileirada para moderação e recebi uma notificação informando quantas das minhas postagens estão aguardando na fila (isso ocorreu apenas com mensagens de teste curtas).

  2. A postagem não foi colocada na fila (verificado com os mantenedores do fórum por e-mail) e fui redirecionado para uma página inexistente. Ao examinar a comunicação de rede, havia uma requisição POST para /posts, com o seguinte resultado:

     A URL solicitada foi rejeitada. Por favor, consulte seu administrador.
     Seu ID de suporte é: 18286718686107272025
    
  3. A postagem ficou visualmente oculta; havia apenas uma “barra” azul exibida na parte inferior da página, com um círculo de progresso girando infinitamente, sem nenhuma outra ação. Tentei aguardar vários minutos, mas o giro não parou. O log de rede indicava que a requisição POST /posts foi enviada, mas nenhuma resposta foi recebida. Após isso começar a acontecer, geralmente enfrentava problemas ainda maiores, como não conseguir fazer login novamente (a página de login carregava, mas o formulário de login não era enviado). Parecia ser um banimento silencioso do meu endereço IP ou algo semelhante (mudar o endereço IP geralmente ajudava).

Descobri que consigo evitar o erro 2 (e possivelmente também o 3) se prestar atenção ao conteúdo da minha postagem. Recebi o erro 2 em 100% dos casos quando minha postagem continha um apóstrofo, uma aspa ou uma quebra de linha. Também recebi esse erro quando a postagem era maior que 1000 caracteres.

Esse comportamento soa familiar para alguém? Há algo que eu possa sugerir ao mantenedor do fórum?

Obrigado pelas ideias.

Você tentou no modo seguro do Discourse? Você tentou no modo seguro do seu navegador?

Obrigado pela dica sobre o modo seguro do Discourse. Eu não sabia disso. Infelizmente, ele está de alguma forma quebrado neste fórum — ao acessar community.subtchallenge.com/safe-mode como um usuário não logado, apareço apenas a página de login. Se eu entrar com a URL como um usuário logado, recebo uma página dizendo “Ops, esta página não foi encontrada”. Talvez eles tenham algum .htaccess personalizado que quebre a funcionalidade?

Não tentei o modo seguro do navegador, mas como testei vários navegadores em máquinas recém-instaladas (VMs, VPS), não acho que o modo seguro do navegador resolveria isso. Testei Firefox, Chromium, w3m (ok, nada de jogo aqui), Palemoon e Opera.

Pode ser um firewall de aplicação mal configurado.

Obrigado pela dica, isso pode realmente ser a solução. No entanto, eles já “passaram o problema para o departamento de TI” e os profissionais de TI disseram que não encontraram nenhum problema do lado deles. Isso nos deixa com uma alegação não verificável :frowning: Vou pedir para eles verificarem especificamente a configuração do firewall.

Pensar no problema a partir da perspectiva de uma configuração incorreta do firewall faz muito sentido. Pode ser que o sistema tente realizar algum tipo de análise de “IA”, o que, obviamente, falha para minhas publicações que não são de teste.

Parece que este é o problema:

Seu HTTP está sendo bloqueado por um firewall da F5 Networks chamado Application Security Manager (ASM). Ele gera mensagens como:

Por favor, consulte seu administrador.
Seu ID de suporte é: xxxxxxxxxxxx

Portanto, seu aplicativo está passando alguns dados que, por algum motivo, o ASM detecta como uma ameaça. Forneça o ID de suporte ao seu engenheiro de rede para descobrir o motivo específico.

De acordo com a documentação da F5, isso indica que o firewall deles bloqueou a solicitação:

Esta mensagem indica que o ASM bloqueou a solicitação. Você pode pesquisar o ID de suporte nas mensagens de log (/var/log/asm) — a mensagem de log correspondente fornecerá mais detalhes.