He estado usando Laradock para hacer mi desarrollo local durante algunas semanas y recientemente necesité utilizar HTTPS para que Google me devolviera la llamada al integrar los inicios de sesión sociales.
Desarrollo en Windows usando WSL2 e hice un cambio en mi archivo de hosts:
127.0.0.1 tinker-dev.com Cualquier tráfico http normal a tinker-dev.com se enruta correctamente y veo mi aplicación, ¡excelente!
Leí un poco y descubrí que necesito un certificado SSL firmado por una autoridad y me encontré con mkcert , parece que debería hacer el trabajo. Después de seguir la instalación, cd en la carpeta nginx/ssl que está montada en el directorio nginx ssl de Laradocks a través de NGINX_SSL_PATH=./nginx/ssl/ .env var, y luego ejecuté mkcert tinker-dev.com localhost 127.0.0.1 0.0.0.0 ::1 para producir un certificado y una clave que podrían usarse para autorizar solicitudes de estos dominios (esto generó dos archivos: tinker-dev.com+4.pem y tinker-dev.com+4-key.pem
Luego modifiqué default.conf en los sites-available para utilizar estos certificados:
# For https listen 443 ssl; listen [::]:443 ssl ipv6only=on; ssl_certificate /etc/nginx/ssl/tinker-dev.com+4.pem; ssl_certificate_key /etc/nginx/ssl/tinker-dev.com+4-key.pem; y también modifiqué laradocks startup.sh para eliminar el bloque que genera automáticamente un certificado SSL al cargar (si no se encuentra default.crtis)
#if [ ! -f /etc/nginx/ssl/default.crt ]; then # openssl genrsa -out "/etc/nginx/ssl/default.key" 2048 # openssl req -new -key "/etc/nginx/ssl/default.key" -out "/etc/nginx/ssl/default.csr" -subj "/CN=default/O=default/C=UK" # openssl x509 -req -days 365 -in "/etc/nginx/ssl/default.csr" -signkey "/etc/nginx/ssl/default.key" -#out "/etc/nginx/ssl/default.crt" #fi Luego comencé mi contenedor y descubrí que no había errores en el registro, pero cualquier tráfico a https://tinker-dev.com resultó en que no se registrara tráfico en el registro de acceso (el tráfico http todavía se registra usando el dominio). .También me di cuenta de que acababa de recibir un error 403 para cualquier tráfico https .
nginx -T para verificar qué configuración se cargó y puedo ver que está usando mi certificado/clave y si hago cat /etc/nginx/ssl/tinker-dev.com+4.pem , imprime el certificado, entonces Estoy seguro de que se están montando en el contenedor (el mismo resultado si toco la llave)
¿Estoy haciendo algo más obviamente mal aquí? No soy una persona devopsia y todo esto es relativamente nuevo para mí.
Yo tuve exactamente el mismo problema. Al estar en Windows 10 versión 2004, WSL2 estuvo disponible y le permitió usar Docker Desktop con WSL2 .
También tengo instalado VMWare Workstation 14.x. Tuve esta frustración durante varias semanas antes de decidir, a regañadientes, desinstalar VMWare Workstation. Esto resolvió inmediatamente mi problema. Intenté reinstalar VMWare, sin embargo, eso hizo que el problema volviera a aparecer. También intenté eliminar todas las redes virtuales en el Editor de redes virtuales, pero esto no hizo ninguna diferencia.
Si revisa los registros de acceso de su contenedor NGINX, verá que NGINX nunca recibe las solicitudes de conexión que realiza a través de SSL. Curiosamente, las solicitudes HTTP parecen funcionar bien. Además, el navegador muestra un certificado de VMWare. Desafortunadamente, pasé mucho tiempo buscando una solución a este problema, pero no encontré una más allá de desinstalar VMWare Workstation. Espero que esto al menos te lleve por el camino correcto.