Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

`static:warm` command doesn't work if laravel is behind a reverse proxy

Abierto
#13,145 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

  • #13146 de @CapitaineToinon — cerrado sin fusionar

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
30/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
docker, laravel, php
Área
backend

Línea de trabajo

Start with the statamic:static:warm command and trace how it builds the URLs it visits. Reproduce the failure from the Laravel service in the described Docker setup, then check whether the command uses the configured application URL or an unreachable local address. Done means the command can visit the URLs through the reachable web service; a linked pull request already exists, so check its status before starting.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

caching
Bug description

When using laravel being a reverse proxy, for example hosted using docker with laravel & statamic under a docker service and nginx under another service, the statamic:static:warn option fails because it tries to hit the laravel service directly, which isn't exposed.

$ php artisan statamic:static:warm
Please wait. This may take a while if you have a lot of content.

Compiling URLs...
[✔] Entries
[✔] Taxonomies
[✔] Taxonomy terms
[✔] Custom routes
[✔] Additional

Visiting 254 URLs...
  /https://localhost  cURL error 7: Failed to connect to localhost port 443 after 2 ms: Could not connect to server (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://localhost
// ... same for all the URLs, not included

In this case, it's hitting localhost:443 when it should be hitting config('app.url') or in the case of docker, it could hit the docker container directly, for example http://nginx:80.

How to reproduce

Host statamic using docker having at least a php image and an nginx image:

services:
  laravel:
    build:
      context: .
      dockerfile: docker/laravel/Dockerfile
    networks: [laravel]
    environment:
      ...
  web:
    build:
      context: .
      dockerfile: docker/web/Dockerfile
    ports: [80]
    depends_on: [laravel]
    networks: [laravel]

Then try to run from the laravel service:

docker compose exec laravel bash
$ php artisan statamic:static:warm

Because only the nginx is exposed, the command will fail.

Logs

Environment
Environment
Application Name: Statamic
Laravel Version: 12.38.1
PHP Version: 8.4.14
Composer Version: 2.9.0
Environment: local
Debug Mode: ENABLED
URL: web
Maintenance Mode: OFF
Timezone: UTC
Locale: en

Cache
Config: NOT CACHED
Events: NOT CACHED
Routes: NOT CACHED
Views: CACHED

Drivers
Broadcasting: log
Cache: file
Database: pgsql
Logs: stack / single
Mail: log
Queue: database
Scout: meilisearch
Session: database

Storage
public/storage: LINKED

Pulse
Enabled: ENABLED
Version: v1.4.3

Livewire
Livewire: v3.6.4

Statamic
Addons: 1
Sites: 1
Stache Watcher: Enabled (auto)
Static Caching: half
Version: 6.0.0-alpha.16 PRO

Statamic Addons
statamic/eloquent-driver: dev-master

Statamic Eloquent Driver
Addon Settings: file
Asset Containers: file
Assets: eloquent
Blueprints: file
Collection Trees: eloquent
Collections: file
Entries: eloquent
Fieldsets: file
Form Submissions: eloquent
Forms: file
Global Sets: file
Global Variables: eloquent
Navigation Trees: eloquent
Navigations: file
Revisions: eloquent
Sites: file
Taxonomies: file
Terms: eloquent
Tokens: eloquent
Installation

Fresh statamic/statamic site via CLI

Additional details

This has been discussed in the idea repo. I'm doing an issue as I intend to make a PR for this fix.

http://github.com/statamic/ideas/issues/1383

Lenguaje dominante
PHP
Estrellas
4.9k
Forks
647
Merge medio
1 d 19 h
PR fusionados (30 d)
108

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de statamic/cms

Todos los issues de statamic/cms

Issues similares

Más issues de PHP

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.