1
0

Caddyfile 822 B

1234567891011121314151617181920212223242526272829303132
  1. # FrankenPHP Caddyfile for the api container.
  2. # Serves Slim from public/ on :8081.
  3. {
  4. frankenphp
  5. order php_server before file_server
  6. auto_https off
  7. admin off
  8. }
  9. :8081 {
  10. root * /app/public
  11. encode zstd gzip
  12. # Internal jobs API: only callable from loopback / RFC1918.
  13. # No /internal/* routes are mounted yet; this matcher exists in M01 to
  14. # exercise the protective pattern. Internal endpoints land in M05.
  15. @internal {
  16. path /internal/*
  17. remote_ip 127.0.0.1/32 ::1/128 172.16.0.0/12 10.0.0.0/8 192.168.0.0/16
  18. }
  19. handle @internal {
  20. php_server
  21. }
  22. @external_internal_blocked {
  23. path /internal/*
  24. 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
  25. }
  26. respond @external_internal_blocked 404
  27. php_server
  28. }