Ciao,
sono riuscito a installare 2 container di Discourse sul mio server con Plesk sotto 2 domini diversi. Entrambi sono in esecuzione, ma ricevo un errore 502.
Il log degli errori riporta:
2020/04/18 13:48:45 [error] 61#61: *125 upstream prematurely closed connection while reading response header from upstream, client: 172.17.0.1, server: _, request: "GET / HTTP/1.0", upstream: "http://127.0.0.1:3000/", host: "my.domain"
Quando eseguo solo un container, questo errore non si presenta affatto. Ho provato alcune impostazioni, ma non sono riuscito a risolvere il problema. Da quanto ho capito, il problema riguarda nginx e forse il fatto che i container abbiano lo stesso DOCKER_HOST_IP; purtroppo non sono riuscito a trovare dove modificarlo. Le modifiche apportate in Plesk a questo valore non hanno avuto alcun effetto sul log. Apprezzerei molto se qualcuno potesse aiutarmi o almeno darmi consigli chiari su cosa sto trascurando di impostare.
Scusa per il mio inglese approssimativo, spero che le mie frasi abbiano senso.
Ok, sono riuscito a risolvere il mio problema. Ecco come ho fatto:
Molte soluzioni per questo messaggio di errore erano legate al timeout, quindi ho provato la stessa correzione. Ma non ha apportato alcuna modifica; ecco come avevo inizialmente impostato le direttive aggiuntive di nginx:
location / {
proxy_pass [https://localhost:8500/;](http://)
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect https://localhost:8500/ https://my.domain;
proxy_read_timeout 300s;
proxy_connect_timeout 75s;
}
Ma come ho detto, questo non ha fatto nulla. Quindi ho continuato a cercare, finché non ho trovato questo link:
https://support.plesk.com/hc/en-us/articles/115004292154-How-to-change-proxy-read-timeout-for-domain-in-Plesk
Questo suggerisce di inserire i parametri del timeout direttamente nel campo di testo, quindi l’ho fatto:
Il proxy è gestito tramite il plugin Docker di Plesk.
Ora tutto funziona perfettamente. Spero che questo aiuti qualcun altro che sta lottando con lo stesso problema.