Traefik PathPrefix перенаправить на Apache - PullRequest
1 голос
/ 14 марта 2019

Привет, я настроил Traefik в Docker в качестве обратного прокси. Это работает хорошо, пока сервер не попытается перенаправить на какой-либо URL. то есть. У меня есть службы настройки, такие как:

докер-compose.yml

version: "3.4"

services:
  php:
    image: 192.168.1.17/rab/php:latest
    networks:
      - backend
      - proxy
    labels:
      - "traefik.enable=true"
      - "traefik.backend=php"
      - "traefik.frontend.rule=Host:192.168.1.27"
      - "traefik.docker.network=proxy"
      - "traefik.port=9000"
    container_name: php
 apache:
   image: 192.168.1.17/rab/apache:latest
   networks:
     - proxy
   links:
     - php
   labels:
    - "traefik.enable=true"
    - "traefik.backend=apache"
    - "traefik.frontend.rule=Host:192.168.1.27; PathPrefixStrip:/rab;"
    - "traefik.docker.network=proxy"
    - "traefik.port=80"
    - "traefik.frontend.entryPoints=http"
    - "traefik.frontend.headers.SSLRedirect=false"
   container_name: apache
networks:
  backend:
  proxy:
    external:
      name: traefik_proxy

Так что, если я введу http://192.168.1.27/rab/login.php, , это сработает , и откроется страница входа.

Но при успешном входе в систему он пытается перенаправить меня на http://192.168.1.27/index.php вместо http://192.168.1.27/rab/index.php, и это не работает

Конфигурация apache:

ServerName localhost

LoadModule deflate_module /usr/local/apache2/modules/mod_deflate.so
LoadModule proxy_module /usr/local/apache2/modules/mod_proxy.so
LoadModule proxy_fcgi_module /usr/local/apache2/modules/mod_proxy_fcgi.so

<VirtualHost *:80>
   # Proxy .php requests to port 9000 of the php-fpm container
   ProxyPassMatch ^(.*\.php(.*)?)$ fcgi://php:9000/var/www/html/$1  
   DocumentRoot /var/www/html/
   <Directory /var/www/html/>
       DirectoryIndex login.php
       Options Indexes FollowSymLinks
       AllowOverride All
       Require all granted
   </Directory>
</VirtualHost>

Как это исправить? Пожалуйста, помогите

Спасибо

...