Poiché sono costantemente frustrato dai malfunzionamenti del plugin Azure Blob Storage, ho avviato un server Flexify.IO per tradurre il protocollo Azure in S3.
Tuttavia, dopo averlo configurato in Discourse, non funziona. L’errore è:
Failed to open TCP connection to support.xxx.xxx.xxx.xxx:443 (getaddrinfo: Name or service not known)
dove xx.xx.xx.xx è l’indirizzo IP del gateway S3 e support è il nome del bucket…
La cosa curiosa è… ho usato S3 Browser per testare l’endpoint e funziona perfettamente.
Quindi, potrebbe qualcuno gentilmente dirmi cosa ho fatto di sbagliato?
Posso solo pensare che sia potenzialmente dovuto alla regione, poiché la regione esposta dall’endpoint è eastasia (una regione Azure valida), ma posso scegliere solo tra le regioni AWS standard da un elenco. Tuttavia, è ancora strano perché l’errore sembra indicare un fallimento nella connessione all’endpoint stesso, e non un disallineamento della regione.
Il messaggio di errore lo conferma. getaddrinfo: Name or service not known indica un fallimento della ricerca DNS; non esisterà mai un nome host come “support.303.303.303.303”.
Oh, scusa. support è il nome del bucket. Posso vedere che S3 semplicemente antepone il nome del bucket al nome di dominio, e questo è assunto da Discourse.
Sì, l’avevo capito. Quindi devo codificare a mano gli endpoint in app.yaml, corretto?
Sta ancora cercando di accedere a support.??.??.??.??:443
Quindi, suppongo che in Discourse il bucket deba formare un sottodominio?
EDIT 1
Va bene, ho eliminato le impostazioni di app.yaml e ho creato un sottodominio con support che punta a xx.xx.xx.xx. Ora, quando carico, gira per un lungo periodo e poi restituisce un errore generico:
Aws::S3::Errors::BadRequest
C’è un modo per ottenere il messaggio di errore esatto?