Puncte:0

nginx primește GET / cerere, deși este greșit

drapel us

Deci, rulez un container nginx cu docker-compose:

Servicii:
  nginx:
    construi:
      context: .
      dockerfile: Dockerfile
    reporniți: întotdeauna
    container_name: webserver_nginx
    Nume gazdă: nginx
    stop_grace_period: 1m30s

    control medical:
      test: ["CMD-SHELL", "curl -sf http://127.0.0.1/ -o /dev/null || ieșire 1"]
      interval: 1m30s
      timeout: 10s
      reîncercări: 3
      perioada_început: 40s

    porturi:
      - 443:443
      - 80:80

    volume:
      # Restricție de servicii cu parolă
      - ./.credentials/.htpasswd:/var/.credentials/.htpasswd

      # Configurații Nginx
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./proxy_params:/etc/nginx/proxy_params
      - ./conf:/etc/nginx/conf.d

      #Nginx servește fișiere statice
      - /var/backups/off:/var/web_data/off


      # Înregistrare Nginx
      - /var/log/nginx:/var/log/nginx

    retele:
      - rețea_server web

retele:
  rețea_server web:
    extern: adevărat

Dockerfile:

DE LA nginx

CMD ["nginx", "-g", "daemon off;"]

meu nginx.conf:

utilizator nginx;
worker_proceses auto;

error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;

evenimente {
    conexiuni_muncitor 1024;
}

http {
    includ /etc/nginx/mime.types;
    aplicație de tip_default/octet-stream;

    log_format principal „$remote_addr - $remote_user [$time_local] „$request” '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log principal;

    sendfile activat;
    keepalive_timeout 65;

    includ /etc/nginx/conf.d/*.conf;
}

și configurație pentru containerul meu:

Server {
  asculta 80;
  asculta [::]:80;

  nume_server nume.com;

  locație /admin {
    proxy_pass http://off:4000;
    proxy_set_header Gazdă $gazdă;
    proxy_set_header X-Real-IP $adresă_la distanță;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_read_timeout 100;
    proxy_http_versiunea 1.1;
  }
  locație /static {
    alias /var/web_data/off/collectstatic;
  }

  locație / media {
    alias /var/web_data/off/upload;
  }

  Locație / {
    întoarce 404;
  }
}

deci ori de cate ori incerc sa solicit http://name.com/admin Primesc acest tip de jurnal de la access.log:

127.0.0.1 - - [16/May/2022:15:53:42 +0000] „GET / HTTP/1.1” 404 153 „-” „curl/7.74.0” „-”
127.0.0.1 - - [16/May/2022:15:55:12 +0000] „GET / HTTP/1.1” 404 153 „-” „curl/7.74.0” „-”
127.0.0.1 - - [16/May/2022:15:56:42 +0000] „GET / HTTP/1.1” 404 153 „-” „curl/7.74.0” „-”

și primesc eroare 502 Gateway de la nginx pe browser chiar și atunci când încerc să accesez site-ul principal, cum ar fi http://name.com/ Continui să primesc eroare 502 compusul meu container este ca:

versiunea: „3.8”

Servicii:
  offch:
    construi:
      context: .
      dockerfile: deploy/beta/Dockerfile
      argumente:
        WORKING_DIR: /app
    container_name: dezactivat
    Nume gazdă: django
    reporniți: „întotdeauna”

    comandă: gunicorn -c deploy/beta/configs/gunicorn/conf.py --chdir api api.wsgi:application

    volume:
      # Codul sursă al proiectului
      - .:/aplicație
      # Colectați fișiere statice
      - /var/backups/offch/collectstatic:/collectstatic
      # fișiere media (încărcări)
      - /var/backups/offch/upload:/app/media/upload
      - /var/log/upstart:/var/log/upstart

    stop_grace_period: 1m30s

    control medical:
      test: ["CMD", "curl", "-f", "http://127.0.0.1:4000"]
      interval: 1m30s
      timeout: 10s
      reîncercări: 3
      perioada_început: 40s

    porturi:
      - „4000:4000”

    retele:
      - rețea_server web

retele:
  rețea_server web:
    extern: adevărat

Btw pot accesa site-ul prin ip și port, am această problemă doar cu nginx.

djdomi avatar
drapel za
salut, conteaza ce vrei sa folosesti. asta înseamnă că ar trebui să utilizați mai întâi 404 și apoi directiva admin imho
scaryhamid avatar
drapel us
@djdomi salut, mulțumesc pentru răspuns, dar nu a funcționat, încă primesc același jurnal de la nginx access.log, am folosit deja această configurație pe alt server și am această problemă doar aici
djdomi avatar
drapel za
ceea ce s-a întâmplat în timp ce dezactivați ultima parte și nu funcționează nu este o descriere a erorii ;) dacă schimbați configurația sau mediul, trebuie să reflectați modificările și la întrebare, vă rugăm să afișați rezultatul lui `nginx -T`

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.