`static:warm` command doesn't work if laravel is behind a reverse proxy
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
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
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.
- 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
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de statamic/cms
-
preferences
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Make native filesystem directory permissions configurable to support shared POSIX ACL accessAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
accessibility
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
antlers
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
caching nocache
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
statamic/cms#15643 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de statamic/cms
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Automattic/blocks-engine#2866 ·
Los mantenedores suelen responder en 1 día
-
Good first issue: add laravel-inertia stack budget preset (Laravel 11 + Inertia.js + PHP 8.3)Abiertoenhancement good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
backend gamification P0
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
semanadeinformatica/website#461 ·
-
HttpRequestTrait fatals on WordPress 7.2: $blocked_http_requests clashes with WP_UnitTestCase_BaseAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
area: docs eco: php good first issue help wanted lane: free-agent roadmap size: XS type: docs
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
arminazimi/evergreen#453 ·
Los mantenedores suelen responder en 1 día