# Impossibile determinare i problemi Passkey dietro il Proxy Cloudflare

**URL:** https://meta.discourse.org/t/unable-to-determine-passkey-issues-behind-cloudflare-proxy/316366
**Category:** Support
**Tags:** passkey
**Created:** [15 Luglio 2024, 5:57pm UTC](https://meta.discourse.org/t/unable-to-determine-passkey-issues-behind-cloudflare-proxy/316366 "2024-07-15T17:57:35Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![TheAlmightyZach](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thealmightyzach/32/207550_2.png) [@TheAlmightyZach](https://meta.discourse.org/u/TheAlmightyZach)
#### Post date: [15 Luglio 2024, 5:57pm UTC](https://meta.discourse.org/t/unable-to-determine-passkey-issues-behind-cloudflare-proxy/316366/1 "2024-07-15T17:57:35Z")

</div>

# AGGIORNAMENTO: Risolto!

Per risolvere il problema, sono riuscito ad abilitare `force_https` che ha risolto tutto per noi. A quanto pare, le passkey stavano tentando di instradare a `http://` ma quel traffico misto non veniva segnalato dal browser. A quanto pare CloudFlare non era direttamente il problema. Spero che questo possa aiutare qualcun altro in futuro.

# Post Originale:

## Il Problema

Ciao! Recentemente ho spostato la mia istanza Discourse dietro un tunnel Cloudflare e sembra che tutto funzioni bene ad eccezione delle passkey. Sia le registrazioni di passkey esistenti che quelle nuove falliscono, ma non credo che i log rendano molto chiaro il MOTIVO del fallimento. Spero che qualcuno qui possa aiutarmi a trovare le restanti informazioni di troubleshooting necessarie per risolvere questo problema:

## Informazioni Rilevanti

### Informazioni sulla mia configurazione

- Utilizzo Discourse Docker per distribuire Discourse.
- Postgres e Redis sono distribuiti esternamente.
- Distribuito su Ubuntu su un’istanza AWS EC2.
- Come detto in precedenza, il tunnel Cloudflare fornisce TLS e funge da proxy.

### Cosa ho provato

- Ho controllato la mia configurazione per assicurarmi che Discourse si aspetti il nome host dei miei forum (`forums.example.com`)
- Discourse è stato configurato per la porta 80 HTTP poiché Cloudflare gestisce TLS
- Quando HTTP non è riuscito, ho tentato di forzare Discourse solo a SSL fornendo un certificato autofirmato e reindirizzando Cloudflare a Discourse sulla porta 443 utilizzando il protocollo HTTPS.
- Mi sono assicurato che Cloudflare stesse passando `forums.example.com` al mio sito. So che lo sta facendo poiché qualsiasi altro header host causa un 404 al NGINX di Discourse.

### Log Rilevanti

- Questa parte è leggermente complicata. Discourse non fornisce nulla lato server (per quanto ne so) e sia che utilizzi Bitwarden, iCloud Keychain, Chrome o Firefox, il risultato è lo stesso.
- I log per la passkey stessa sono quasi inesistenti
- La parte più utile che ho trovato è stata dalla console degli strumenti per sviluppatori di Firefox / Chrome quando si tentava di creare una nuova passkey. Viene restituito quanto segue:

```plaintext
{
  "errors": [
    "The origin of the authentication request does not match the server origin."
  ]
}

```

Questa è un’indicazione abbastanza chiara che c’è qualcosa che non va tra il client e discourse (AKA il proxy), ma questi log non indicano quali informazioni vengono scambiate per risolvere ulteriormente questo problema.

Qualcuno può aiutarmi a capire altre impostazioni o posizioni di log da controllare, o ha altri suggerimenti per il troubleshooting? Trovo improbabile, ma suppongo che un errore nella configurazione di Nginx potrebbe anche essere un fattore. Ho essenzialmente un doppio proxy tra il client e Discourse con sia CloudFlare che Nginx in esecuzione. Dovrei riconsiderare qualche aspetto di questa configurazione?

In termini di priorità, certamente è bello averlo risolto, ma poiché ho solo circa 8 utenti su qualche migliaio che utilizzano le passkey (con altri metodi di accesso che funzionano perfettamente), non sono troppo stressato per questo.
