Я пытаюсь настроить мои настройки с помощью Traefik в докере.Все, если хорошо, используя Traefik + Portainer.Но я потерял столько часов, пытаясь установить правила маршрутов в Traefik.
«Что я хочу?»
- Мой блог WordPress доступен по адресу sub.domain.fr/wordpress
«Что у меня есть?»
Моя WordPress доступна, но все остальные ресурсы (scripts / css) находятся в 404. Основной HTML работал, но CSS исценарии находятся по URL-адресу «sub.domain.fr/theme.css» вместо «sub.domain.fr/wordpress/theme.css», например
Для первой установки яя перенаправлен на "sub.domain.fr/wp-admin/install.php", который равен 404. Вместо этого, если я наберу "sub.domain.fr/wordpress/admin/install.php", я получу страницу (но безресурсы, такие как CSS).
Вот мой docker-compose:
version: '3'
services:
reverse-proxy:
image: traefik # The official Traefik docker image
command: --api --docker # Enables the web UI and tells Traefik to listen to docker
ports:
- "80:80" # The HTTP port
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock # So that Traefik can listen to the Docker
- "/root/docker/traefik/traefik.toml:/etc/traefik/traefik.toml"
- "/root/docker/traefik/log:/var/log/traefik"
- "/root/docker/traefik/acme:/etc/traefik/acme"
labels:
- "traefik.enable=true"
- "traefik.port=8080"
- "traefik.frontend.rule=PathPrefixStrip: /traefik"
- "traefik.frontend.entryPoints=http,https"
networks:
- traefik
portainer:
image: portainer/portainer
networks:
- "traefik"
ports:
- "9000:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
labels:
- "traefik.enable=true"
- "traefik.frontend.redirect.regex=^(.*)/portainer$$"
- "traefik.frontend.redirect.replacement=$$1/portainer/"
- "traefik.frontend.rule=PathPrefix:/portainer;ReplacePathRegex: ^/portainer/(.*) /$$1"
- "traefik.port=9000"
- "traefik.frontend.entryPoints=http,https"
wordpress:
image: wordpress
links:
- mariadb:mysql
environment:
- WORDPRESS_DB_PASSWORD=password
volumes:
- ./code:/code
- ./html:/var/www/html
labels:
- "traefik.enable=true"
- "traefik.port=80"
- "traefik.frontend.rule=PathPrefixStrip:/wordpress"
- "traefik.frontend.entryPoints=https"
networks:
- "traefik"
mariadb:
image: mariadb
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=wordpress
volumes:
- ./database:/var/lib/mysql
labels:
- "traefik.enable=false"
networks:
- "traefik"
volumes:
portainer_data:
networks:
traefik:
external:
name: traefik
У меня нет перенаправления всех HTTP на HTTPS на traefik.toml.Попытка Path / PathPrefix -> Не работает.Я читаю тонны документации, но мне кажется, что я единственная с этой "простой" проблемой.У тебя есть решение ?
Спасибо
Дэмиен