Ho una app di flask in esecuzione sotto uWSGI dietro nginx.Nginx permesso negato durante la lettura di upstream - anche quando eseguito come root
*1 readv() failed (13: Permission denied) while reading upstream, client: 10.0.3.1, server: , request: "GET /some/path/constants.js HTTP/1.1", upstream: "uwsgi://unix:/var/uwsgi.sock:", host: "dev.myhost.com"
Le autorizzazioni per la presa siano adeguati (in 666, e impostare lo stesso utente come nginx), infatti, anche quando corro nginx come root ho ancora ottenere questo errore.
L'app di flask/uwsgi sta inviando la richiesta correttamente. Ma non viene letto da Nginx. Questo è su Ubuntu Utopic Unicorn.
Qualsiasi idea in cui l'autorizzazione potrebbe essere negata se il processo nginx ha accesso completo al socket?
Come fattore di complicazione, questo server è in esecuzione in un contenitore in cui è installato Ubuntu 14.04. E questa configurazione funzionava ... ma di recente ho aggiornato l'host a 14.10 ... Posso capire perfettamente che questa potrebbe essere la causa del problema. Ma prima di eseguire il downgrade dell'host o aggiornare il contenitore, voglio capire perché.
Quando eseguo strace su un lavoratore che sta generando questo errore vedo la chiamata che sta facendo è qualcosa di simile:
readv(14, 0x7fffb3d16a80, 1) = -1 EACCES (Permission denied)
14
sembra essere il descrittore di file creato da questa chiamata di sistema
socket(PF_LOCAL, SOCK_STREAM, 0) = 14
Quindi non può leggere da un socket locale appena creato?
Potresti aggiungere ulteriori dettagli sulla correzione? Non sembra funzionare nel mio caso. –
Ho aggiunto le due righe pertinenti alla mia risposta.Ma se questi non risolvono il problema per te allora potresti avere un problema non correlato :( – aychedee
Sfortunatamente non c'è un file usr.bin.lxc-start sul mio sistema, c'è solo /etc/apparmor.d/docker. eseguire la procedura descritta con il file di finestra mobile il servizio finestra mobile non viene avviato più con 'Risposta errore dal daemon: Impossibile avviare il database contenitore: imposta apparmor profilo docker-predefinito: nessun file o directory FATA [0000] Errore: impossibile avviarne uno o più contenitori –