Saltar a contenido

DNS / TLS

Fecha: 2026-06-01

Que es

Es la capa real que publica por dominio los servicios HTTP/HTTPS del VPS por medio de nginx-proxy-manager, resolviendo DNS publico hacia 46.202.151.32, terminando TLS con certificados Let's Encrypt y reenviando trafico a los backends internos.

Para que sirve

  • exponer openclaw.alpuntodeventa.com.ar sin publicar OpenClaw directo al host
  • exponer portainer.alpuntodeventa.com.ar con TLS administrado por NPM
  • exponer grafana.alpuntodeventa.com.ar con TLS administrado por NPM
  • exponer monitor.ladirecta.com.ar y monitor.ladirecta.ar como alias de Grafana con TLS administrado por NPM
  • exponer doc.alpuntodeventa.com.ar como Knowledge Portal con TLS administrado por NPM
  • centralizar certificados, HSTS y configuracion de proxy
  • sostener la verificacion de disponibilidad y expiracion de certificados desde observabilidad

Donde corre

  • host: srv977009 en 46.202.151.32
  • contenedor: nginx-proxy-manager
  • stack: /docker/nginx-proxy-manager
  • binds reales:
  • /docker/nginx-proxy-manager/data
  • /docker/nginx-proxy-manager/letsencrypt
  • puertos publicados reales:
  • 80/tcp
  • 81/tcp
  • 443/tcp

Dominios y certificados observados

Proxy hosts reales observados

Proxy host Dominio Upstream Certificado
2.conf portainer.alpuntodeventa.com.ar https://portainer:9443 npm-2
3.conf openclaw.alpuntodeventa.com.ar http://openclaw-gateway:18789 npm-3
4.conf doc.alpuntodeventa.com.ar http://knowledge-portal:8085 npm-4
5.conf grafana.alpuntodeventa.com.ar, monitor.ladirecta.com.ar, monitor.ladirecta.ar http://grafana:3000 npm-7

DNS real observado

Dominio Resolucion observada
openclaw.alpuntodeventa.com.ar 46.202.151.32
portainer.alpuntodeventa.com.ar 46.202.151.32
grafana.alpuntodeventa.com.ar 46.202.151.32
monitor.ladirecta.com.ar 46.202.151.32
monitor.ladirecta.ar 46.202.151.32
doc.alpuntodeventa.com.ar 46.202.151.32
prometheus.alpuntodeventa.com.ar 46.202.151.32
alerts.alpuntodeventa.com.ar 46.202.151.32
thanos.alpuntodeventa.com.ar 46.202.151.32

Certificados reales observados

Cert Subject Issuer Validez
npm-2 portainer.alpuntodeventa.com.ar Let's Encrypt YE2 2026-06-01 a 2026-08-30
npm-3 openclaw.alpuntodeventa.com.ar Let's Encrypt YE1 2026-05-29 a 2026-08-27
npm-4 doc.alpuntodeventa.com.ar Let's Encrypt YE2 2026-06-01 a 2026-08-30
npm-5 grafana.alpuntodeventa.com.ar Let's Encrypt YE2 2026-06-01 a 2026-08-30
npm-7 grafana.alpuntodeventa.com.ar, monitor.ladirecta.com.ar, monitor.ladirecta.ar Let's Encrypt hasta 2026-09-13

Let's Encrypt y renovacion

  • La evidencia real en /docker/nginx-proxy-manager/letsencrypt/renewal/npm-2.conf y /docker/nginx-proxy-manager/letsencrypt/renewal/npm-3.conf y /docker/nginx-proxy-manager/letsencrypt/renewal/npm-4.conf y /docker/nginx-proxy-manager/letsencrypt/renewal/npm-5.conf muestra:
  • server = https://acme-v02.api.letsencrypt.org/directory
  • authenticator = webroot
  • webroot_path = /data/letsencrypt-acme-challenge
  • preferred_chain = ISRG Root X1
  • key_type = ecdsa
  • elliptic_curve = secp384r1
  • La renovacion depende de que el dominio siga resolviendo al VPS y de que el challenge HTTP siga atendible por NPM.

Que protege

  • la UI publica de OpenClaw en https://openclaw.alpuntodeventa.com.ar/
  • la UI publica de Portainer en https://portainer.alpuntodeventa.com.ar/
  • la UI publica de Grafana en https://grafana.alpuntodeventa.com.ar/, https://monitor.ladirecta.com.ar/ y https://monitor.ladirecta.ar/
  • el Knowledge Portal en https://doc.alpuntodeventa.com.ar/
  • el trafico HTTP/HTTPS expuesto por NPM

No publica hoy Prometheus, Alertmanager ni Thanos Query; esos DNS resuelven al VPS pero no tienen backend tecnico expuesto por NPM.

Dependencias y relaciones

  • depende de:
  • DNS publico correcto
  • nginx-proxy-manager
  • /docker/nginx-proxy-manager/data
  • /docker/nginx-proxy-manager/letsencrypt
  • reachability a openclaw-gateway:18789
  • reachability a portainer:9443
  • reachability a grafana:3000
  • reachability a knowledge-portal:8085
  • dependen de esta capa:
  • svc-openclaw
  • svc-portainer
  • knowledge-portal
  • probes TLS y de disponibilidad de observabilidad
flowchart LR
    DNS[DNS publico]
    TLS[TLS Let's Encrypt]
    NPM[Nginx Proxy Manager]
    OC[OpenClaw 18789 interno]
    PT[Portainer 9443 interno]
    GF[Grafana 3000 interno]
    KP[Knowledge Portal 8085 interno]
    OBS[Blackbox / Prometheus]

    DNS --> NPM
    TLS --> NPM
    NPM --> OC
    NPM --> PT
    NPM --> GF
    NPM --> KP
    OBS --> NPM

Relacion con OpenClaw

  • openclaw.alpuntodeventa.com.ar termina en npm-3
  • el upstream real observado es openclaw-gateway:18789
  • curl -I https://openclaw.alpuntodeventa.com.ar/ devolvio HTTP/2 200
  • el probe real de Blackbox devolvio:
  • probe_success 1
  • probe_http_status_code 200

Relacion con Knowledge Portal

  • doc.alpuntodeventa.com.ar termina en npm-4
  • el upstream real observado es knowledge-portal:8085
  • curl -I http://doc.alpuntodeventa.com.ar/ devolvio 301 a HTTPS
  • curl -I https://doc.alpuntodeventa.com.ar/ devolvio HTTP/2 200
  • search/search_index.json respondio 200
  • la pagina governance/knowledge/infrastructure/dns-tls/ devolvio contenido con mermaid

Relacion con Grafana y observabilidad

  • grafana.alpuntodeventa.com.ar, monitor.ladirecta.com.ar y monitor.ladirecta.ar terminan en el proxy host 5.conf con certificado npm-7
  • el upstream real observado es grafana:3000
  • curl -I http://grafana.alpuntodeventa.com.ar/ devolvio 301 a HTTPS
  • curl -I https://grafana.alpuntodeventa.com.ar/login devolvio 200
  • curl -I https://monitor.ladirecta.com.ar/login devolvio 200
  • curl -I https://monitor.ladirecta.ar/login devolvio 200
  • observabilidad si depende indirectamente de esta capa para medir servicios publicados:
  • target real https://openclaw.alpuntodeventa.com.ar/
  • target real http://host.docker.internal:81/
  • alertas reales:
    • OpenClawHttpsDown
    • NpmLocalAdminDown
    • BlackboxProbeFailed
    • CertificateExpiryWarning
    • CertificateExpiryCritical

Como verificar que funciona

  1. Confirmar DNS: getent ahostsv4 doc.alpuntodeventa.com.ar
  2. Confirmar proxy host y upstream: revisar /docker/nginx-proxy-manager/data/nginx/proxy_host/4.conf, /docker/nginx-proxy-manager/data/nginx/proxy_host/5.conf o /docker/nginx-proxy-manager/data/nginx/proxy_host/2.conf
  3. Confirmar certificado: openssl x509 -in /docker/nginx-proxy-manager/letsencrypt/live/npm-5/fullchain.pem -noout -subject -issuer -dates
  4. Confirmar respuesta publica: curl -I https://doc.alpuntodeventa.com.ar/
  5. Confirmar upstream interno: docker exec nginx-proxy-manager curl -I http://knowledge-portal:8085/ o docker exec nginx-proxy-manager curl -I http://grafana:3000/login
  6. Confirmar observabilidad: revisar probe_success, probe_ssl_earliest_cert_expiry y alertas de certificados en Prometheus

Que hacer si falla

  • si falla DNS: revalidar que el dominio siga resolviendo a 46.202.151.32
  • si falla TLS: revisar renewal/*.conf, expiracion de fullchain.pem y logs de nginx-proxy-manager
  • si falla solo OpenClaw publico: revisar primero el upstream openclaw-gateway:18789 antes de tocar DNS o certificados
  • si falla Portainer publicado: revisar primero https://portainer:9443 desde NPM
  • si falla Grafana publicado: revisar primero http://grafana:3000/login desde NPM
  • si falla Knowledge Portal publicado: revisar primero http://knowledge-portal:8085 desde NPM
  • si falla renovacion: confirmar que /data/letsencrypt-acme-challenge siga accesible y que los dominios mantengan reachability por 80/443
  • si falta evidencia: usar RESTORE-NPM.md para recovery controlado