Puncte:0

Timeout-uri constante la conectarea de la LAN la servicii în spatele unui proxy invers

drapel cn

ani după ce primul meu server de acasă a murit, am decis să am unul din nou. De data aceasta, de dragul de a învăța și de a avea mai multă flexibilitate, o fac cu containere docker. Chestia este că am configurat un proxy invers cu nginx și însoțitorul let’s ecnrypt, pentru a oferi criptare SSL și pentru a evita redirecționarea mai multor porturi pe routerul meu.

Acest lucru funcționează aproape perfect, de pe telefonul meu cu date mobile sau dintr-o rețea complet diferită, îmi pot accesa serviciile fără nicio problemă. Problema vine atunci când încerc să accesez din aceeași rețea LAN, pot accesa de 1/10 ori și primesc timeout-uri celelalte 9/10.

Nu există nicio diferență în modul în care încerc să mă conectez; în ambele cazuri este printr-un browser web folosind <subdomain>.<domain> ca URL

Acestea sunt containerele mele actuale: introduceți descrierea imaginii aici

În ceea ce privește fișierul meu docker-compose actual, este așa:

versiunea: '3'
Servicii:
  proxy invers:
    imagine: jwilder/nginx-proxy
    porturi:
      - „80:80”
      - „443:443”
    container_name: reverse-proxy
    retele:
      service_network: null
    volume:
      - „/var/run/docker.sock:/tmp/docker.sock:ro”
      - „.\nginx\certs:/etc/nginx/certs”
      - „.\nginx\vhosts:/etc/nginx/vhost.d”
      - „.\nginx\html:/usr/share/nginx/html”
  ACME-SSL:
    imagine: jrcs/letsencrypt-nginx-proxy-companion
    depinde de:
      - proxy invers
    mediu inconjurator:
      NGINX_PROXY_CONTAINER: proxy invers
    retele:
      service_network: null
    volume:
      - „/var/run/docker.sock:/var/run/docker.sock:ro”
      - „.\nginx\certs:/etc/nginx/certs”
      - „.\nginx\vhosts:/etc/nginx/vhost.d”
      - „.\nginx\html:/usr/share/nginx/html”
  nginx:
    imagine: nginx
    depinde de:
      - proxy invers
    porturi:
      - „8080:80”
    expune:
      - 8080
    mediu inconjurator:
      - NGINX_HOST=<DOMENIU>
      - NGINX_PORT=80
      - HTTP_PORT=8080
      - VIRTUAL_HOST=<DOMENIU>
      - LETSENCRYPT_HOST=<DOMENIU>
      - LETSENCRYPT_EMAIL=<EMAIL>
    retele:
      service_network: null
    volume:
      - „.\<DIRECTORY>:/usr/share/nginx/html”
  koel:
    imagine: hyzual/koel
    depinde de:
      - proxy invers
      - Bază de date
    porturi:
      - „8000:80”
    expune:
      - 8000
    mediu inconjurator:
      - HTTP_PORT=8000
      - VIRTUAL_HOST=<SUBDOMAIN>.<DOMEN>
      - LETSENCRYPT_HOST=<SUBDOMENIUL>.<DOMENIU>
      - LETSENCRYPT_EMAIL=<EMAIL>
      - DB_CONNECTION=mysql
      - DB_HOST=bază de date
      - DB_USERNAME=koel
      - DB_PASSWORD=<PASS>
      - DB_DATABASE=koel
      - FORCE_HTTPS=adevărat
      - LASTFM_API_KEY=<API_SECRET>
      - LASTFM_API_SECRET=<API_KEY>
    retele:
      service_network: null
      db_network: nul
    volume:
      - „/e/musica:/music”
      - „.\koel\covers:/var/www/html/public/img/covers”
      - „.\koel\search_index:/var/www/html/storage/search-indexes”
  Bază de date:
    imagine: „mysql/mysql-server:5.7”
    volume:
      - „.\mysql:/var/lib/mysql”
    mediu inconjurator:
      - MYSQL_ROOT_PASSWORD=<PASS>
      - MYSQL_DATABASE=koel
      - MYSQL_USER=koel
      - MYSQL_PASSWORD=<PASS>
    retele:
      db_network: nul
retele:
  service_network:
    şofer: pod
  db_network:
    şofer: pod
 

*Am schimbat unele valori în descrieri între < > deoarece conțin informații private.

Puncte:1
drapel br

Dacă domeniul dvs. este mapat la IP-ul WAN al routerului dvs., este posibil ca routerul să refuze să trimită traficul din interiorul rețelei înapoi în el.

Dacă acesta este cazul, puteți exclude acest lucru scriind numele dvs. de domeniu și IP-ul proxy-ului dvs. invers în /etc/hosts și apoi testând conexiunea.

O remediere permanentă ar necesita fie să rulați un DNS divizat, fie să mențineți acest nume de gazdă la maparea IP în suprascrierile DNS ale routerului dvs., dacă are o astfel de opțiune.

drapel cn
Am schimbat suprascrierile DNS! Dar voi încerca să văd dacă funcționează local cu fișierul hosts. Dacă funcționează, îmi voi verifica din nou configurațiile dns
drapel cn
Rezoluția DNS prin fișierul hosts a funcționat bine, trebuie să văd de ce suprascrierile mele DNS nu funcționează, dar aveai dreptate!

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.