Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン
#13,145 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

  • #13146 @CapitaineToinon による — マージされずにクローズ

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
30/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
停滞
技術スタック
docker, laravel, php
領域
backend

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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

主要言語
PHP
スター
4.9k
フォーク
647
平均マージ
1日 9時間
マージ済み PR(30日)
102

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

statamic/cms のほかの issue

statamic/cms の issue をすべて見る

似ている issue

PHP の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。