Il mio server Discourse privato funziona ed è accessibile tramite browser e app mobile iOS.
Tuttavia, su Android, Discourse Hub non riesce a trovare il server. (Riesce a trovare altri server come meta.discourse.org.)
Qualche idea sul perché questo fallisca? Potrebbe essere che l’app mobile Android utilizzi un agente crawler diverso per accedere al server rispetto alla versione iOS? O qualche altra ragione?
1- La richiesta GET ottiene una risposta, ma l’istruzione HEAD restituisce un errore ‘valore non valido’. (Questo è vero anche per meta.discourse.org, eppure entrambe le app mobili possono connettersi a questa istanza.) Come modifico il server per produrre una risposta corretta alla richiesta HEAD?
2- Perché la versione iOS supera questi test con successo e si connette al mio server?
Per quanto possa valere, ho fatto testare questo a un amico usando un Android stock con lo stesso risultato. Il mio dispositivo è un Pixel 8a con l’ultima versione di GrapheneOS.
Potrebbe trattarsi di una nuova incompatibilità di cifrario simile a quella a cui hai fatto riferimento nel 2017?
Abbiamo controllato i crawler. Il mio server ha bloccato molti crawler e sembra che uno di essi impedisse la connessione all’app mobile. Dopo aver ripristinato le impostazioni di fabbrica, l’app è stata in grado di connettersi.
Quindi ho aggiunto okhttp come unico crawler consentito e l’app mobile è stata comunque in grado di connettersi. Crisi sventata.
Grazie a @pmusaraj per aver controllato il codice dell’app Android e aver trovato questa soluzione.