Trying to serve a file, it only gets served if the url doesn't have query parameters

1. The problem I’m having:

I’m trying to serve adminer.css over caddy file server. My Caddyfile contains a php reverse proxy, adminer’s reverse proxy and file_server. The file will get served if I request it with no parameters (https://localhost/adminer.css), but when Adminer requests it with a query parameter it will try to respond with fastcgi (url = https://localhost/adminer.css?v=1639178368)

2. Caddy version: Latest (caddy:alpine docker)

4. How I installed and ran Caddy: Docker-compose

a. System environment: Docker WSL

b. Command: Default docker command

c. Service/unit/compose file:

version: "3"

services:
  caddy:
    image: caddy:alpine
    restart: always
    ports:
      - "80:80"
      - "2019:2019"
      - "443:443"
      - "443:443/udp"
    depends_on:
      - php
    volumes:
      - ./public:/srv
      - ./config/adminer/adminer.css:/public/adminer.css:ro
      - ./config/caddy/Caddyfile:/etc/caddy/Caddyfile:ro
      - ./logs:/var/log/caddy
      - caddy:/data

  php:
    image: sparanoid/php-fpm:8-latest
    restart: always
    depends_on:
      - redis
      - mariadb
    volumes:
      - ./public:/srv
      - ./config/php/php.ini:/usr/local/etc/php/php.ini:rw
    environment:
      - MYSQL_ROOT_PASSWORD=culo
      - MYSQL_DATABASE=db

  mariadb:
    image: mariadb
    restart: always
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=culo
      - MYSQL_DATABASE=MYSQL_DATABASE

  redis:
    image: redis
    restart: always

  adminer:
    image: adminer
    restart: always
    links:
      - "mariadb:db"
    volumes:
      - ./config/adminer/adminer.css:/var/www/html/adminer.css:ro
    ports:
      - 127.0.0.1:8080:8080
    depends_on:
      - php
    environment:
      - ADMINER_ABSOLUTE_URI=https://localhost/pma

volumes:
  db:
  caddy:

d. My complete Caddy config:

localhost

root * /srv
encode zstd gzip

php_fastcgi php:9000
reverse_proxy /pma adminer:8080
file_server

log {
	output file /var/log/caddy/access.log {
		roll_size 10MiB
		roll_keep 100
	}

	level debug
}

5. Links to relevant resources: None

This is your problem – you mounted the CSS file in /public but you configured the root as /srv.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.