PathStripPrefix не работает с ресурсами (css / js) - PullRequest
0 голосов
/ 17 ноября 2018

Я пытаюсь настроить мои настройки с помощью 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 -> Не работает.Я читаю тонны документации, но мне кажется, что я единственная с этой "простой" проблемой.У тебя есть решение ?

Спасибо

Дэмиен

...