Traefik没有将请求路径传递给Strapi CMS

我正在尝试使Traefik和Stapi CMS一起工作,但是在尝试访问管理面板时遇到了问题。例如,我将部署这两个服务,并通过cms.example.com访问CMS,该cms.example.com将按预期的方式根据trapi加载public / index.html。

问题是当我尝试访问cms.example.com/admin时,请求再次返回public / index.html页而不是admin页。我还检查了这两个请求的曲奇输出,似乎请求的是同一条路线。

有人可以指导我如何确定错误是由于Traefik没有发送路径还是Strapi轰炸了?

以下是有关部署的一些详细信息:

  1. Traefik部署:
docker run -d -v /var/run/docker.sock:/var/run/docker.sock -v $PWD/traefik.toml:/traefik.toml -p 80:80 -p 443:443 -p 8080:8080  --network web --name traefik traefik:2.0.2
  1. Strapi docker-compose:
version: '3.1'

    services:
  strapi:
    image: strapi/strapi
    environment:
      - DATABASE_CLIENT=postgres
      - DATABASE_HOST=strapi-db
      - DATABASE_PORT=5432
      - DATABASE_NAME=strapi
      - DATABASE_username=strapi
      - DATABASE_PASSWORD=strapi
    ports:
      - 9020:1337
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.circulate.rule=Host(`cms.circulate.co.za`)"
      - "traefik.http.routers.circulate.entrypoints=web"
      - "traefik.docker.network=web"
      - "traefik.http.middlewares.circulate.addprefix.prefix=/foo"
      - "traefik.port=80"
    networks:
      - internal
      - web
    volumes:
      - ./app:/srv/app
    depends_on:
      - strapi-db
    command: 'strapi start'

  strapi-db:
    image: postgres:12.1
    restart: always
    networks:
      - internal
      - web
    volumes:
      - strapi-vol:/var/lib/postgresql/data
    environment:
      POSTGRES_USER: strapi
      POSTGRES_PASSWORD: strapi
      POSTGRES_DB: strapi

volumes:
  strapi-vol:

networks:
  web:
    external: true
  internal:
    external: false

Traefik TOML文件:

################################################################
# Global configuration
################################################################
[global]
  checkNewVersion = true
  sendAnonymousUsage = true

################################################################
# Entrypoints configuration
################################################################

# Entrypoints definition
#
# Optional
# Default:
[entryPoints]
  [entryPoints.web]
    address = ":80"

  [entryPoints.websecure]
    address = ":443"

################################################################
# Traefik logs configuration
################################################################

# Traefik logs
# Enabled by default and log to stdout
#
# Optional
#
[log]

  # Log level
  #
  # Optional
  # Default: "ERROR"
  #
   level = "INFO"

  # Sets the filepath for the traefik log. If not specified,stdout will be used.
  # Intermediate directories are created if necessary.
  #
  # Optional
  # Default: os.Stdout
  #
  filePath = "log/traefik.log"

  # Format is either "json" or "common".
  #
  # Optional
  # Default: "common"
  #
   format = "json"

################################################################
# access logs configuration
################################################################

# Enable access logs
# By default it will write to stdout and produce logs in the textual
# Common Log Format (CLF),extended with additional fields.
#
# Optional
#
# [accessLog]

  # Sets the file path for the access log. If not specified,stdout will be used.
  # Intermediate directories are created if necessary.
  #
  # Optional
  # Default: os.Stdout
  #
  # filePath = "/path/to/log/log.txt"

  # Format is either "json" or "common".
  #
  # Optional
  # Default: "common"
  #
  # format = "json"

################################################################
# API and dashboard configuration
################################################################

# Enable API and dashboard
[api]

  # Name of the related entry point
  #
  # Optional
  # Default: "traefik"
  #
  # entryPoint = "traefik"

  # Enabled Dashboard
  #
  # Optional
  # Default: true
  #
   dashboard = true
   insecure = true

################################################################
# Ping configuration
################################################################

# Enable ping
[ping]

  # Name of the related entry point
  #
  # Optional
  # Default: "traefik"
  #
  # entryPoint = "traefik"

################################################################
# Docker configuration backend
################################################################

# Enable Docker configuration backend
[providers.docker]

  # Docker server endpoint. Can be a tcp or a unix socket endpoint.
  #
  # Required
  # Default: "unix:///var/run/docker.sock"
  #
  # endpoint = "tcp://10.10.10.10:2375"

  # Default host rule.
  #
  # Optional
  # Default: "Host(`{{ normalize .Name }}`)"
  #
  # defaultRule = "Host(`{{ normalize .Name }}.docker.localhost`)"

  # Expose containers by default in traefik
  #
  # Optional
  # Default: true
  #
  network = "web"
  watch = true
  exposedByDefault = false
bv5gj 回答:Traefik没有将请求路径传递给Strapi CMS

首先通过手动构建Strapi Admin UI,然后将Traefik配置为路由请求来解决此问题。

本文链接:https://www.f2er.com/3051183.html

大家都在问