Puncte:0

docker-compose cu nginx și nextcloud FPM nu mai acceptă conexiuni https

drapel si

Am o configurație destul de standard, cu nginx ca interfață web (cu certificate https și așa) și un backend FPM nextcloud; toata instalatia are trafic foarte scazut, din moment ce eu sunt singurul care o foloseste.

La un moment dat, https nu mai funcționează, fiecare conexiune din exterior are ca rezultat fie timeout, fie conexiunea refuzată; în această situație, se pare că nextcloud funcționează și nginx nu. M-am gândit că poate avea de-a face cu o oarecare economie de energie pe gazda mea, dar nu este cazul, deoarece toate celelalte containere de pe aceeași gazdă funcționează foarte bine; Lucrul amuzant este că există o modalitate simplă de a o face să funcționeze din nou și este să deschideți un shell pe gazdă și să faceți:

cd $NEXTCLOUD_DIRECTORY

unde NEXTCLOUD_DIRECTORY este directorul de bază pentru aplicație, unde sunt atât fișierele docker-compose.yml, cât și directoarele de date (situate la $HOME/docker/nextcloud-letsencrypt).

Pur și simplu nu înțeleg de ce se întâmplă asta și de ce acea operațiune este o soluție...

Iată fișierul meu de scriere:

versiunea: '3'
  Servicii:
    nginx:
      imagine: nginx:alpine
      porturi:
        - „80:80”
        - „127.0.0.1:8443:443”
      volume:
        - ./data/nginx:/etc/nginx/conf.d
        - ./data/certbot/conf:/etc/letsencrypt
        - ./data/certbot/www:/var/www/certbot
        - ./data/nextcloud/www:/var/www/html:ro
        - ./data/nextcloud/apps:/var/www/html/custom_apps:ro
      reporniți: dacă nu este oprit
      comandă: „/bin/sh -c „în timp ce :; dormi 6 ore și așteaptă $${!}; nginx -s reîncărcare; terminat & nginx -g \"daemon off;\"'"
    certbot:
      imagine: certbot/certbot
      volume:
        - ./data/certbot/conf:/etc/letsencrypt
        - ./data/certbot/www:/var/www/certbot
      punct de intrare: "/bin/sh -c 'capcană de ieșire TERM; în timp ce :; reînnoiește certbot; dormi 12 ore și așteaptă $${!}; gata;'"
      reporniți: dacă nu este oprit
    cloud-db:
      container_name: ${DB_CONTAINER_NAME}
      imagine: mariadb:${DB_IMAGE_TAG}
      reporniți: dacă nu este oprit
      comandă: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
      volume:
        ...
      mediu inconjurator:
        MYSQL_DATABASE: ${MYSQL_DATABASE}
        MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
        MYSQL_USER: ${MYSQL_USER}
        MYSQL_PASSWORD: ${MYSQL_PASSWORD}
    aplicatie:
     imagine: nextcloud:21-fpm-alpine
     link-uri:
       - cloud-db
     utilizator: "1000:1004"
     volume:
       - ./data/nextcloud/www:/var/www/html
       - ./data/nextcloud/apps:/var/www/html/custom_apps
       - ./data/nextcloud/config:/var/www/html/config
       - /mnt/usb/shared/nextcloud:/var/www/html/data
       - /mnt/usb/Expansion_2/serie:/mnt/serie:ro
       - /mnt/usb/archivio/archivio:/mnt/archivio:ro
     reporniți: dacă nu este oprit

./data se află în FS rădăcină, în directorul principal al utilizatorului 1000.

/mnt/usb/shared/nextcloud este pe o unitate USB ext4 (valori implicite ext4, nofail 0 0), R/W pentru utilizator

/mnt/usb/Expansion_2 este o altă unitate USB ex4 (ext4 implicite, nofail 0 0) servită prin NC (sunt înregistrate ca stocare externă în NC)

Michael Hampton avatar
drapel cz
Ai făcut ceva ciudat, cum ar fi criptarea directorului tău de acasă?
drapel si
nu, nimic de genul acesta; Am observat de fapt că containerele sunt recreate când fac operația „cd”. Au rezultat creat acum un minut sau cam asa ceva. Cred că e ceva în neregulă în configurația mea de compunere, mai degrabă decât fie nginx, fie nextcloud
Puncte:0
drapel si

Se pare că soluția este să folosiți restart:always în loc de „unless-stopped”. Nu prea știu de ce am nevoie de asta, din moment ce nimeni nu oprește containerele, așa că ar trebui să funcționeze la nesfârșit, ca multe alte containere pe care le am pe aceeași mașină, care folosesc „dacă nu-oprește” și stau la nesfârșit.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.