Este tutorial detalhado guiará você através do processo de configuração do Nginx Proxy Manager (NPM) com um subdomínio DuckDNS e certificados SSL via DNS Challenge. O objetivo é resolver problemas de acesso a recursos como microfone em aplicações web (como o NovoChat) que exigem uma conexão HTTPS segura.
Ao desenvolver e hospedar aplicações web, especialmente aquelas que utilizam recursos sensíveis do navegador como o microfone (através da API enumerateDevices), é crucial garantir que a conexão seja segura (HTTPS). Sem um certificado SSL válido, os navegadores modernos bloqueiam o acesso a esses recursos, resultando em erros como TypeError: Cannot read properties of undefined (reading 'enumerateDevices').
Este guia aborda a integração do Nginx Proxy Manager com o serviço de DNS dinâmico DuckDNS utilizando o método DNS Challenge.
novochat.duckdns.org).NovoChat rodando em containers.xxx87e1b-e75c-xxx-9d16-xxxxxxxxxx4d
version: '3.8'
services:
npm:
image: 'jc21/nginx-proxy-manager:latest'
container_name: nginx-proxy-manager
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
environment:
DISABLE_IPV6: 'true'
networks:
default:
name: nginx-proxy
Acesse o Painel: IP:81 (Login: admin@example.com / Senha: changeme).
Certifique-se de que os serviços estejam na mesma rede:
networks:
NovoCht:
nginx-proxy:
external: true
services:
frontend:
# ... outras configs
expose:
- 80
networks:
- NovoCht
- nginx-proxy
No NPM (Porta 81), em Hosts > Proxy Hosts:
novochat.duckdns.orgfrontend80Na aba SSL do Proxy Host:
dns_duckdns_token = seu_token_aquiApós gerar, edite o host e marque Force SSL, HTTP/2 Support e HSTS Enabled.
Ajuste o .env-frontend:
FRONTEND_HOST=novochat.duckdns.org
REACT_APP_BACKEND_URL=https://novochat.duckdns.org/backend
BACKEND_PROTOCOL=https
BACKEND_PORT=443
Se o backend for acessado via /backend, adicione em Custom Locations:
/backendbackendLimpe o cache do navegador ou use aba anônima. Verifique o cadeado e as permissões de microfone.
Agora seu serviço NovoCht está seguro e com todas as funcionalidades de mídia operacionais via HTTPS!