[GH-ISSUE #226] Cannot generate letsencrypt certificate "Internal Error" #198

Closed
opened 2026-02-26 06:31:23 +03:00 by kerem · 3 comments
Owner

Originally created by @dbrosy on GitHub (Nov 2, 2019).
Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/226

Ok I don't understand why this doesn't work.

I have created nginx proxy manager with 80, 81 and 443 open to public. I am trying to secure dashboard on port 81 with proxy.<example.com> (<example.com> not my real domain)

image

I can browse to http(s)://proxy.example.com and see login page.
If I try to create an ssl cert for my domain i get "internal error" with following in logs:

image

docker-compose.yml:

version: "3"
services:
  app:
    image: jc21/nginx-proxy-manager:2.0.14
    container_name: nginx-proxy
    restart: always
    ports:
      - "80:80"
      - "443:443"
      - "81:81"
    networks:
      - proxy
    volumes:
      - ./config.json:/app/config/production.json
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - db
    environment:
    # if you want pretty colors in your docker logs:
    - FORCE_COLOR=1
  db:
    image: mariadb:10.3
    container_name: nginx-db
    restart: always
    ports:
      - 3306:3306    
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
    networks:
      - proxy
    volumes:
      - ./data/mysql:/var/lib/mysql
#  portainer:
#    image: portainer/portainer
#    container_name: portainer
#    command: -H unix:///var/run/docker.sock
#    restart: always
#    environment:
#      - VIRTUAL_HOST=${VIRTUAL_HOST}
#    networks:
#      - proxy
#    volumes:
#      - /var/run/docker.sock:/var/run/docker.sock
#      - portainer_data:/data

networks:
  proxy:

#volumes:
#  portainer_data:

config.json

{
  "database": {
    "engine": "mysql",
    "host": "db",
    "name": "npm",
    "user": "npm",
    "password": "npm",
    "port": 3306
  }
}

The error seems to be related to /.well-known/acme-challenge/...

What am I doing wrong?

I would like to the create certs for any domain I point to my proxy

Originally created by @dbrosy on GitHub (Nov 2, 2019). Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/226 Ok I don't understand why this doesn't work. I have created nginx proxy manager with 80, 81 and 443 open to public. I am trying to secure dashboard on port 81 with proxy.<example.com> (<example.com> not my real domain) ![image](https://user-images.githubusercontent.com/17326295/68071549-8f8dc000-fdcf-11e9-8e5a-c8b428c3e583.png) I can browse to http(s)://proxy.example.com and see login page. If I try to create an ssl cert for my domain i get "internal error" with following in logs: ![image](https://user-images.githubusercontent.com/17326295/68071662-a7197880-fdd0-11e9-9f74-3efef9b23aca.png) #### docker-compose.yml: ``` version: "3" services: app: image: jc21/nginx-proxy-manager:2.0.14 container_name: nginx-proxy restart: always ports: - "80:80" - "443:443" - "81:81" networks: - proxy volumes: - ./config.json:/app/config/production.json - ./data:/data - ./letsencrypt:/etc/letsencrypt depends_on: - db environment: # if you want pretty colors in your docker logs: - FORCE_COLOR=1 db: image: mariadb:10.3 container_name: nginx-db restart: always ports: - 3306:3306 environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} networks: - proxy volumes: - ./data/mysql:/var/lib/mysql # portainer: # image: portainer/portainer # container_name: portainer # command: -H unix:///var/run/docker.sock # restart: always # environment: # - VIRTUAL_HOST=${VIRTUAL_HOST} # networks: # - proxy # volumes: # - /var/run/docker.sock:/var/run/docker.sock # - portainer_data:/data networks: proxy: #volumes: # portainer_data: ``` #### config.json ``` { "database": { "engine": "mysql", "host": "db", "name": "npm", "user": "npm", "password": "npm", "port": 3306 } } ``` The error seems to be related to /.well-known/acme-challenge/... What am I doing wrong? I would like to the create certs for any domain I point to my proxy
kerem 2026-02-26 06:31:23 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@dbrosy commented on GitHub (Nov 7, 2019):

ok after looking at this for days it looks like my gateway / firewall is causing issue

<!-- gh-comment-id:551043700 --> @dbrosy commented on GitHub (Nov 7, 2019): ok after looking at this for days it looks like my gateway / firewall is causing issue
Author
Owner

@dbrosy commented on GitHub (Nov 7, 2019):

Just an update, I discovered it was caused by a qnap NAS using upnp on 80 and 443.

<!-- gh-comment-id:551063542 --> @dbrosy commented on GitHub (Nov 7, 2019): Just an update, I discovered it was caused by a qnap NAS using upnp on 80 and 443.
Author
Owner

@emass-sec commented on GitHub (Jan 1, 2020):

ok after looking at this for days it looks like my gateway / firewall is causing issue

Same, I turned off port 80 on my firewall recently and then connected the dots that's why I couldn't generate LetsEncrypt certificates in NPM anymore. Opened port 80 to NPM server again, and bam, able to generate certs again. Anyone know why it needs port 80?

<!-- gh-comment-id:570028047 --> @emass-sec commented on GitHub (Jan 1, 2020): > ok after looking at this for days it looks like my gateway / firewall is causing issue Same, I turned off port 80 on my firewall recently and then connected the dots that's why I couldn't generate LetsEncrypt certificates in NPM anymore. Opened port 80 to NPM server again, and bam, able to generate certs again. Anyone know why it needs port 80?
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/nginx-proxy-manager-NginxProxyManager#198
No description provided.