Création d'une nouvelle communauté : Authentification de base bloque le plugin WP-Discourse

J’héberge des sites Wordpress et Discourse (auto-hébergés) en utilisant le plugin WP-Discourse.

J’ai réussi à activer l’authentification HTTP Basic sur les deux sites pour qu’ils ne soient pas accessibles tant qu’ils ne sont pas prêts à être publiés (bloquant ainsi l’accès du grand public ainsi que des moteurs de recherche).

Wordpress (informations pour ceux qui cherchent à accomplir quelque chose de similaire)

Discourse

Le plugin WP-Discourse fonctionne bien jusqu’à ce que l’authentification de base soit activée sur le serveur Discourse.

(Modification) Voici l’erreur dans le journal du plugin WP-Discourse côté Wordpress : [2025-02-14 18:20:06] connection.INFO: check_connection_status.failed_to_connect {\"error\":\"wpdc_response_error\",\"message\":\"Une réponse invalide a été retournée par Discourse\",\"http_code\":401,\"http_body\":\"\u003chtml\u003e\\r\\n\u003chead\u003e\u003ctitle\u003e401 Authorization Required\u003c/title\u003e\u003c/head\u003e\\r\\n\u003cbody\u003e\\r\\n\u003ccenter\u003e\u003ch1\u003e401 Authorization Required\u003c/h1\u003e\u003c/center\u003e\\r\\n\u003chr\u003e\u003ccenter\u003enginx\u003c/center\u003e\\r\\n\u003c/body\u003e\\r\\n\u003c/html\u003e\\r\\n\"}

Des idées sur la façon d’exclure les API de l’exigence de l’authentification HTTP Basic sur Discourse ?

Merci !

Vraiment ? Je ne suis pas tout à fait sûr que Discourse fonctionnera derrière une authentification de base ; j’ai essayé une fois mais j’ai abandonné. Il semble encore plus probable que cela puisse casser wp-discourse (oh, et j’avais raison à ce sujet !). Si vous aviez réussi, vous n’écririez pas ce message. :wink:

Pour les sites de staging de Discourse, je mets généralement simplement « connexion requise » et cela éloigne les moteurs de recherche. Quelqu’un avec une connexion peut toujours se connecter, mais c’est généralement ce que vous voulez.

S’il est inacceptable que vos sites soient accessibles à n’importe qui, vous devriez peut-être utiliser un pare-feu et limiter l’accès à votre adresse IP.

Pouvez-vous dire à une authentification de base d’autoriser l’accès depuis l’adresse IP de votre serveur Discourse ? Peut-être : Allow access from one IP, require basic auth from all other sources - Traefik v2 - Traefik Labs Community Forum

Merci, cet indice m’a aidé à résoudre le problème. Voici la section d’authentification de base mise à jour de app.yml sur mon serveur Discourse (aucun changement n’était nécessaire sur le serveur Wordpress) :

# authentification de base
  after_bundle_exec:
    - replace:
       filename: "/etc/nginx/conf.d/discourse.conf"
       from: "# Allow bypass cache from localhost"
       to: |
            # Allow bypass basic authentication for WP-Discourse plugin
            geo $authentication {
            default "Credentials you must provide.";
            127.0.0.1 "off";
            151.101.3.55/32 "off";
            }
            # Allow bypass cache from localhost
    - replace:
       filename: "/etc/nginx/conf.d/discourse.conf"
       from: "# auth_basic on"
       to: "auth_basic $authentication"
    - replace:
       filename: "/etc/nginx/conf.d/discourse.conf"
       from: "# auth_basic_user_file /etc/nginx/htpasswd"
       to: "auth_basic_user_file /etc/nginx/htpasswd"
    - replace:
       filename: "/etc/nginx/conf.d/discourse.conf"
       from: "location = /srv/status {"
       to: "location = /srv/status {
           auth_basic off;"
    - file:
       path: "/etc/nginx/htpasswd"
       contents: |
         alfred:$apr1$jSdLuHyZ$faWxYGjnmLd/zRC6UMsRs1

151.101.3.55 est l’adresse IP publique (exemple) de mon serveur Wordpress. WP-Discourse indique maintenant :
Un écran vide affiche le texte bordé de vert, « Vous êtes connecté à Discord ! » (Légendé par l'IA)

2 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.