server { listen 80; server_name _; root /var/www/html/public; index index.php; client_max_body_size 20m; # DNS embebido de Docker: resuelve "app" en cada request (en vez de una sola vez # al arrancar nginx) para no quedarse con una IP vieja si el contenedor "app" se # recrea (redeploy, restart) mientras nginx sigue corriendo. resolver 127.0.0.11 valid=10s; # Descomentar cuando haya certificados en /etc/nginx/certs (ver docs/despliegue.md) # y quitar el "location /" de abajo para forzar HTTPS: # location / { return 301 https://$host$request_uri; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { set $php_upstream app:9000; fastcgi_pass $php_upstream; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/html/public$fastcgi_script_name; include fastcgi_params; fastcgi_param HTTP_AUTHORIZATION $http_authorization; fastcgi_read_timeout 60; fastcgi_hide_header X-Powered-By; } location ~ /\.(?!well-known) { deny all; } gzip on; gzip_types text/css application/javascript application/json image/svg+xml; } # server { # listen 443 ssl http2; # server_name tu-dominio.com; # root /var/www/html/public; # index index.php; # # ssl_certificate /etc/nginx/certs/fullchain.pem; # ssl_certificate_key /etc/nginx/certs/privkey.pem; # ssl_protocols TLSv1.2 TLSv1.3; # # client_max_body_size 20m; # resolver 127.0.0.11 valid=10s; # # location / { # try_files $uri $uri/ /index.php?$query_string; # } # # location ~ \.php$ { # set $php_upstream app:9000; # fastcgi_pass $php_upstream; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /var/www/html/public$fastcgi_script_name; # include fastcgi_params; # fastcgi_param HTTP_AUTHORIZATION $http_authorization; # fastcgi_read_timeout 60; # } # }