[Docker/Nginx] Connection refused

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • stijnos1991
  • Registratie: Oktober 2005
  • Laatst online: 28-09 14:08
Ik heb een aantal applicaties draaien met behulp van Docker. Om van alle poortnummers af te zijn wil ik ze toegankelijk maken via een reverse proxy. Het werkt met een aantal containers, en een aantal niet. Ik heb het idee dat applicaties die ook gebruik maken van nginx het niet doen. De error die ik krijg luidt:
code:
1
connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.2.1, server: xx.yy.nl, request: "GET /bookstack/ HTTP/1.1", upstream: "http://172.23.0.8:6875/bookstack/", host: "xx.yy.nl"
en geeft 502 bad gateway.


Alle containers komen van linuxserver.io en zijn op dezelfde manier geconfigureerd. Losse docker-compose files die gebruik maken van 1 'extern' docker netwerk. De applicaties werken lokaal prima en hebben duidelijke hostnames.


De nginx.conf ziet er als volgt uit waarbij Jellyfin het prima doet, zelfs over https, maar Bookstack (gebouwd met Nginx) resulteert in bovenstaande error met '502 bad gateway' in de browser.

code:
1
2
3
4
5
6
7
8
9
10
11
12
      server {
    server_name xx.yy.nl;

    location /jellyfin/ {
      proxy_pass http://jellyfin:8096;
      rewrite ^/jellyfin(.*)$ $1 break;
     }

    location /bookstack/ {
      proxy_pass http://bookstack:6875;
      rewrite ^/bookstack/(.*)$ $1 break;
    }


Mijn transmission docker doet het op deze manier ook goed, en de Heimdall niet.. met dezelfde fouten.


Wat ik al gevonden of geprobeerd heb:
Alle docker applicaties zitten in hetzelfde netwerk (nasnet). De proxy_pass adressen kloppen en verwijzen niet naar de nginx container maar naar de applicatie containers. Google geeft me weinig bruikbare informatie. Ik kom er niet uit omdat ongeveer 50% van mijn containers het wel foutloos doet.

[ Voor 5% gewijzigd door stijnos1991 op 23-08-2019 17:35 ]

Alle reacties


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 28-09 21:59

Hero of Time

Moderator LNX

There is only one Legend

Maakt het daarbij nog uit in welke volgorde je de containers start? Dus werkt bookstack hoe dan ook ongeacht of die voor of na jellyfin beschikbaar is? Kan je de webpagina wel gewoon bereiken als je niet via de reverse proxy gaat? Want de melding zegt eigenlijk dat er in de container niets bereikbaar is (of iig het wordt geweigerd).

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • stijnos1991
  • Registratie: Oktober 2005
  • Laatst online: 28-09 14:08
Nee dat maakt niet uit. Als ik alleen bookstack start en de rest uit zet werkt het ook niet. Bookstack zelf werkt inderdaad prima.
Wat ook opmerkelijk is, is dat ik in de nginx access log van bookstack de requests zie binnenkomen als ik lokaal browse, maar als ik via de reverse proxy ga zie ik geen entries verschijnen.
Waar die access denied dan gebeurt... geen flauw idee 8)7

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 28-09 21:59

Hero of Time

Moderator LNX

There is only one Legend

Dat betekend dus dat er ergens een routing probleem is. Is de poort juist? Klopt je config ook werkelijk? Kan je vanaf de reverse proxy met bijvoorbeeld curl de pagina's bereiken?

Voor dit soort dingen vind ik haproxy gewoon heel prettig. Die heeft namelijk ook een statuspagina die je aan kan zetten en kan je zo zien welke backend het doet (als je de check ervoor aanzet). Ik heb ook al zaken gehad die met nginx niet helemaal lekker gingen maar met haproxy wel werkten.

Wat is de config op bookstack eigenlijk? Je zegt dat dat ook nginx is. Zijn alle containers nginx, of alleen degene die niet werken? Of is daar geen correlatie tussen?

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • stijnos1991
  • Registratie: Oktober 2005
  • Laatst online: 28-09 14:08
Ook Heimdall maakt gebruik van nginx, zelfde errors. Na nadere inspectie: bijna exact dezelfde nginx configuratie binnen die twee containers!

Dit is de config van bookstack:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
stijn@linas:~/docker/bookstack$ cat config/nginx/site-confs/default 
## Version 2018/03/06 - Changelog: https://github.com/linuxserver/docker-heimdall/commits/master/root/defaults/default

server {
    listen 80 default_server;

    listen 443 ssl;

    root /var/www/html/public;
    index index.php index.html index.htm;

    server_name _;

    ssl_certificate /config/keys/cert.crt;
    ssl_certificate_key /config/keys/cert.key;

    client_max_body_size 0;

        error_page 599 = @noauth;

        location @noauth {
                try_files $uri $uri/ /index.php?$args;
        }

    location / {
        try_files $uri $uri/ /index.php?$query_string;

    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        # With php5-cgi alone:
        fastcgi_pass 127.0.0.1:9000;
        # With php5-fpm:
        #fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include /etc/nginx/fastcgi_params;

    }
}

Ik kom af en toe wel wat tegen over dat fastcgi, maar to be honest zou ik niet weten wat het is en of het roet in het eten kan gooien? Ik heb inmiddels alle topics op server fault doorgespit maar het juiste antwoord lijkt er nog niet tussen te zitten (of ik begrijp het gewoon niet).

Edit: wtf, er staat heimdall bovenaan de config... terwijl dit uit de bookstack directory komt! ik ga even kijken hoe dit op github staat.
Edit2: lijkt per toeval zo te zijn. Staat ook daadwerkelijk op github: https://github.com/linuxs...ter/root/defaults/default
In ieder geval, vrijwel dezelfde config... zelfde fout.. Hmm...

[ Voor 9% gewijzigd door stijnos1991 op 23-08-2019 21:26 ]


Acties:
  • 0 Henk 'm!

  • stijnos1991
  • Registratie: Oktober 2005
  • Laatst online: 28-09 14:08
Blijkbaar was het toch een poort configuratie issue.
Ik kan de twee conainers nu bereiken, maar het URL rewrite stukje gaat vermoedelijk nog fout.

Heimdall geeft een 404 terug. Bookstack redirect naar xx.yy.nl/login in plaats van xx.yy.nl/bookstack/login. We zoeken verder... tips zijn welkom.

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 28-09 21:59

Hero of Time

Moderator LNX

There is only one Legend

Heh, dat is iets wat ik recentelijk met HAProxy heb gepoogd op te lossen (en in eerste instantie ook werkte). Uiteindelijk een compleet andere oplossing gemaakt, maar het herschrijven van de return URL is wel iets wat lastig kan zijn. Je zou dan namelijk de HTML body moeten gaan aanpassen om de URLs te herschrijven. En dat is erg lastig.

Het is veel eenvoudiger door gebruik te maken van subdomeinen.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • stijnos1991
  • Registratie: Oktober 2005
  • Laatst online: 28-09 14:08
Daar was ik al bang voor. Misschien toch maar overwegen om dat te gaan doen dan.. Ik geef het nog een paar dagen met aankloten. Mocht ik de oplossing vinden laat ik het hier nog even weten. Zo niet, dan toch maar een subdomein per app.

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 28-09 21:59

Hero of Time

Moderator LNX

There is only one Legend

Het werkt alleen als je de applicatie al op een subpad hebt draaien. Dus bookstack al op /bookstack/ ipv gewoon /.

Commandline FTW | Tweakt met mate

Pagina: 1