| 1234567891011121314151617181920212223242526272829303132 |
- # FrankenPHP Caddyfile for the api container.
- # Serves Slim from public/ on :8081.
- {
- frankenphp
- order php_server before file_server
- auto_https off
- admin off
- }
- :8081 {
- root * /app/public
- encode zstd gzip
- # Internal jobs API: only callable from loopback / RFC1918.
- # No /internal/* routes are mounted yet; this matcher exists in M01 to
- # exercise the protective pattern. Internal endpoints land in M05.
- @internal {
- path /internal/*
- remote_ip 127.0.0.1/32 ::1/128 172.16.0.0/12 10.0.0.0/8 192.168.0.0/16
- }
- handle @internal {
- php_server
- }
- @external_internal_blocked {
- path /internal/*
- not remote_ip 127.0.0.1/32 ::1/128 172.16.0.0/12 10.0.0.0/8 192.168.0.0/16
- }
- respond @external_internal_blocked 404
- php_server
- }
|