Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta
#13,145 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

  • #13146 di @CapitaineToinon — chiusa senza merge

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
30/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
docker, laravel, php
Ambito
backend

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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

Lingua principale
PHP
Stelle
4.9k
Fork
647
Merge medio
1g 19h
PR unite (30g)
108

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di statamic/cms

Tutte le issue di statamic/cms

Issue simili

Altre issue su PHP

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.