-
-
Notifications
You must be signed in to change notification settings - Fork 597
Description
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: eloquentInstallation
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.