NginxProxyManager / NginxProxyManager/nginx-proxy-manager

[Solved?] After update from 2.9.19 to 2.10.4, "Bad gateway" on local port 81 login screen, but sites keep functioning

Open
#3,237 56 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug stale
Dominant language
TypeScript
Stars
34.2k
Forks
3.9k
Avg merge
21h 12m
Merged PRs (30d)
20

Description

Checklist

  • Have you pulled and found the error with jc21/nginx-proxy-manager:latest docker image?
    • Yes
  • Are you sure you're not using someone else's docker image?
    • Yes
  • Have you searched for similar issues (both open and closed)?
    • Yes

Describe the bug

I’m not much into docker yet but I succeeded to install NPM 2.9.19 a few months ago and now realized I must make manual updates. So I logged into my Proxmox LXC container and did a docker-compose pull, which apparently brought me to v2.10.4 (shown on port 81 local login screen).

But now on every login attempt, I get a little red "Bad gateway" shown on the login screen and cannot administer my hosts anymore! For the time being, I reverted to my full LXC backup and went back to 2.9.19, which works fine.

docker ps shows I’m running jc21/mariadb-aria:latest and jc21/nginx-proxy-manager:latest.

I don’t know how to diagnose this, or where the logs are kept, help urgently needed.

Nginx Proxy Manager Version

2.10.4

To Reproduce
Steps to reproduce the behavior:

  1. Log into LXC using ssh.
  2. docker-compose pull, docker-compose down, docker-compose up -d
  3. Sites keep functioning.
  4. Port 81 login screen shows 2.10.4 and "Bad Gateway" upon login attempt.

Expected behavior

Local admin login working.

Screenshots

Auswahl_274

Operating System

Proxmox 7.4, unprivileged Ubuntu 22.04.3 LTS LXC

Additional context

Commands used to update:

root@proxy:/home/admin/npm# docker-compose pull
Pulling app ... done
Pulling db  ... done
root@proxy:/home/admin/npm# docker-compose down
Stopping npm-db-1  ... done
Stopping npm-app-1 ... done
Removing npm-db-1  ... done
Removing npm-app-1 ... done
Removing network npm_default
root@proxy:/home/admin/npm# docker-compose up -d
Creating network "npm_default" with the default driver
Creating npm_db_1  ... done
Creating npm_app_1 ... done
root@proxy:/home/admin/npm# 

Docker version:

Client: Docker Engine - Community
 Version:           24.0.6
 API version:       1.43
 Go version:        go1.20.7
 Git commit:        ed223bc
 Built:             Mon Sep  4 12:31:44 2023
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          24.0.6
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.7
  Git commit:       1a79695
  Built:            Mon Sep  4 12:31:44 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.24
  GitCommit:        61f9fd88f79f081d64d6fa3bb1a0dc71ec870523
 runc:
  Version:          1.1.9
  GitCommit:        v1.1.9-0-gccaecfc
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

docker ps output:

root@proxy:/home/admin/npm# docker ps
CONTAINER ID   IMAGE                             COMMAND             CREATED         STATUS         PORTS                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NAMES
6557ba6f70d7   jc21/nginx-proxy-manager:latest   "/init"             4 minutes ago   Up 3 minutes   0.0.0.0:70->70/tcp, :::70->70/tcp, 0.0.0.0:80-81->80-81/tcp, :::80-81->80-81/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:2022->2022/tcp, :::2022->2022/tcp, 0.0.0.0:3478->3478/tcp, :::3478->3478/tcp, 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp, 0.0.0.0:5222->5222/tcp, :::5222->5222/tcp, 0.0.0.0:5269->5269/tcp, :::5269->5269/tcp, 0.0.0.0:5280-5281->5280-5281/tcp, :::5280-5281->5280-5281/tcp, 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:8005-8006->8005-8006/tcp, :::8005-8006->8005-8006/tcp, 0.0.0.0:8010->8010/tcp, :::8010->8010/tcp, 0.0.0.0:8015-8016->8015-8016/tcp, :::8015-8016->8015-8016/tcp, 0.0.0.0:8883->8883/tcp, :::8883->8883/tcp   npm_app_1
3f9778d06a3f   jc21/mariadb-aria:latest          "/scripts/run.sh"   4 minutes ago   Up 3 minutes   3306/tcp                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       npm_db_1

docker-compose.yml

version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    environment:
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "(PASSWORD)"
      DB_MYSQL_NAME: "npm"
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
  db:
    image: 'jc21/mariadb-aria:latest'
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: '(PASSWORD)'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: '(PASSWORD)'
    volumes:
      - ./data/mysql:/var/lib/mysql

docker-compose.override.yml

root@proxy:/home/admin/npm# cat docker-compose.override.yml 
# Add some radio ports to be handled by NGINX Proxy Manager.
# These will be forwarded as "streams" in NPM.
# Needs MyFritz-Freigabe to this proxy server!
services:
  app:
    ports:
      # BLOG
      - '70:70' # gopher
      # RADIO
      - '2022:2022' # SFTP
      # 8000 is in use by portainer, can't be bound here!
      - '8000:8000' # station 1 - listen
      - '8005:8005' # station 1 - DJ Stream Icecast
      - '8006:8006' # station 1 - DJ Stream Shoutcast
      - '8010:8010' # station 2 - listen
      - '8015:8015' # station 2 - DJ Stream Icecast
      - '8016:8016' # station 2 - DJ Stream Shoutcast
      # HOME ASSISTANT
      - '8883:8883' # HA MQTT
      # NEXTCLOUD
      - '3478:3478' # NextCloud Talk (TCP & UDP)
      # CHAT1 (Prosody)
      - '5000:5000' # Prosody file transfer proxy
      - '5222:5222' # Prosody client connections
      - '5269:5269' # Prosody server-to-server connections
      - '5280:5280' # Prosody HTTP
      - '5281:5281' # Prosody HTTPS

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with docker-compose.yml, docker-compose.override.yml, and the app and database container logs after the upgrade. Determine which service causes the port 81 login request to return Bad Gateway, then verify that administrator login works on 2.10.4 while the existing proxy hosts continue functioning.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, mariadb, nginx
Domain
authentication, backend, devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.