Quiero ejecutar una instancia de Nextcloud en mi computadora personal que use un DNS dinámico (DDNS) para estar expuesto al mundo. Nextcloud se ejecuta en Docker:
version: '3.5' services: nextcloud: image: nextcloud:latest depends_on: - database volumes: # ... - /etc/localtime:/etc/localtime:ro - /var/run/docker.sock:/var/run/docker.sock:ro env_file: - ./nextcloud.env environment: VIRTUAL_HOST: "ddnsdomain.test.org:50001" LETSENCRYPT_HOST: "ddnsdomain.test.org:50001" LETSENCRYPT_EMAIL: "nextcloud@ddnsdomain.test.org" NETWORK: proxy restart: unless-stopped database: image: mariadb:latest env_file: - ./nextcloud.env command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW restart: unless-stopped networks: default: external: name: proxyy pensé en usar NGINX Proxy Automation para colocar un servidor proxy NGINX en mi máquina local para obtener la redirección automática de HTTPS.
Ahora, después de ejecutar NGINX Proxy Automation (que se ejecuta en una red Docker llamada proxy ) y Nextcloud , debería poder acceder a mi computadora desde el mundo exterior, así que solo debería acceder a ddnsdomain.test.org , el problema es que no quiero para exponer los puertos 80 y 443 de mi computadora personal, así que traté de vincular 443 a un puerto personalizado a través de Port Forwarding en mi enrutador, así que obtuve 443 -> 50001 a través del enrutador. Ahora espero ver la instancia de Nextcloud cuando accedo a https://ddnsdomain.test.org:50001 , pero desafortunadamente obtengo: 503 Service Temporarily Unavailable y si accedo a http://ddnsdomain.test.org:50001 obtengo:
400 Bad Request The plain HTTP request was sent to HTTPS port nginx/1.20.1 ¿Qué estoy haciendo mal? ¿Tal vez necesito usar VIRTUAL_PORT (ver Puertos ) como variable de entorno de contenedor?
¿Es realmente posible lo que estoy tratando de lograr?
Gracias