Как настроить мой Apache Docker конфиг, чтобы только перенаправлять некоторые URL на мой Docker django экземпляр? - PullRequest
0 голосов
/ 30 марта 2020

В моем контейнере Docker настроены Apache, Django и MySql изображения. Ниже приведен мой docker -compose.yml файл ...

version: '3'

services:
  mysql:
    restart: always
    image: mysql:5.7
    environment:
      MYSQL_DATABASE: 'maps_data'
      # So you don't have to use root, but you can if you like
      MYSQL_USER: 'chicommons'
      # You can use whatever password you like
      MYSQL_PASSWORD: 'password'
      # Password for root access
      MYSQL_ROOT_PASSWORD: 'password'
    ports:
      - "3406:3306"
    volumes:
      - my-db:/var/lib/mysql
    command: ['mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci']

  web:
    restart: always
    build: ./web
    ports:           # to access the container from outside
      - "8000:8000"
    env_file: .env
    environment:
      DEBUG: 'true'
    command: /usr/local/bin/gunicorn maps.wsgi:application --reload -w 2 -b :8000
    volumes:
    - ./web/:/app
    depends_on:
      - mysql

  apache:
    restart: always
    build: ./apache/
    ports:
      - "9090:80"
    #volumes:
    #  - web-static:/www/static
    links:
      - web:web

volumes:
  my-db:

В моей конфигурации Apache я настроил этот виртуальный хост для маршрутизации трафика c в мой экземпляр Django. ..

<VirtualHost *:80>
    ServerName maps.example.com

    ProxyPreserveHost On
    ProxyPass / http://web:8000/
    ProxyPassReverse / http://web:8000/

    Header set Access-Control-Allow-Origin "*"
    Header set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept"
</VirtualHost>

Мой вопрос заключается в том, как изменить указанную выше конфигурацию, чтобы отправлять только traffi c моему экземпляру Django, в котором URL-адрес начинается со слов «data» или «coops»

1 Ответ

0 голосов
/ 30 марта 2020

можно попробовать apache переписать движок:

RewriteEngine on
RewriteCond %{REQUEST_URI} data
RewriteRule ^/(.*)$ http://doamin or webapp/$1 [L,R=301]
...