Ho installato il plugin WP Discourse e tutto sembra funzionare correttamente, tranne il webhook “Sincronizza i dati dei commenti”. Continua a restituire un errore con Codice di stato: 400.
Ecco la risposta:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Il tuo browser ha inviato una richiesta che questo server non ha potuto comprendere.<br />
</p>
</body></html>
L’URL del payload sembra essere corretto.
La Chiave segreta del webhook è impostata sia in Discourse che nel plugin WP.
Il Tipo di contenuto è application/json.
Evento di pubblicazione è selezionato.
Verifica il certificato TLS dell'URL del payload è selezionato.
Verifica di nuovo che l’URL del payload e la chiave segreta del webhook siano impostati correttamente.
Se ciò non risolve il problema, puoi dirmi quale struttura di permalink è in uso sul tuo sito WordPress? La struttura dei permalink si trova nella sezione Impostazioni / Permalink della dashboard di WordPress.
Qual è il formato dell’URL che stai aggiungendo al campo Payload URL del webhook su Discourse? Puoi omettere la parte del dominio dell’URL. L’URL fornito nella descrizione dell’opzione Sync Comment Data su WordPress dovrebbe essere corretto (viene generato in base alla struttura dei permalink utilizzata dal tuo sito), ma potrebbe non essere adatto al tuo caso specifico.
Una delle funzionalità pubblicizzate dal plugin Ithemes Security è la possibilità di bloccare l’accesso alla Rest API. Vale la pena verificare che questo non sia la causa del problema.
Non è necessario utilizzare il webhook Sync Comment Data con il plugin WP Discourse. Il principale vantaggio del suo utilizzo è che consente ai commenti di apparire immediatamente dopo essere stati pubblicati su Discourse, evitando di dover attendere fino a 10 minuti per recuperare i nuovi commenti. Su siti molto trafficati, il webhook può ridurre il numero di richieste API che il sito invia a Discourse. Questo influisce principalmente sui siti che visualizzano il numero di commenti su una pagina di indice dei post.
Sì, funziona, ma volevo implementare i webhook per evitare il ritardo.
Ho verificato con il nostro sviluppatore e ha detto che non c’era alcuna API REST bloccata prima o dopo l’installazione del plugin di sicurezza. Sono perplesso.
Lo screenshot che hai pubblicato sopra è un buon indicatore che l’URL del payload è corretto. Il codice di risposta 400 che stai ricevendo indica che il server WordPress sta rifiutando la richiesta. Se il problema fosse una chiave segreta non corrispondente, riceveresti un codice di risposta 500.
Se hai accesso al file di log degli accessi del tuo sito WordPress, probabilmente ti mostrerà esattamente qual è il problema.