Я использую dockercloud / haproxy изображение для прокси и балансировки входящих HTTP-запросов. Контейнер докера должен прослушивать порты 443 и 80 (-> 443).
Я использую Stackfiles и перенаправляю путь /api
с участием VIRTUAL_HOST=*/api/*
.
Добавляя поддержку SSL, я не уверен, нужно ли мне заменять разрывы строк на DEFAULT_SSL_CERT
парам. Для перенаправления http -> https я использую FORCE_SSL
парам.
Какой конфиг использовать для форварда? Я на правильном пути с этой конфигурацией?
Это мой текущий стек:
api:
autoredeploy: true
environment:
- "VIRTUAL_HOST=*/api/*"
- "VIRTUAL_HOST_WEIGHT=1"
- "FORCE_SSL=yes"
image: "anaibol/webapp-api:latest"
web:
autoredeploy: true
environment:
- "VIRTUAL_HOST=*"
- "VIRTUAL_HOST_WEIGHT=0"
- "FORCE_SSL=yes"
image: "anaibol/webapp:latest"
links:
- api
lb:
image: "dockercloud/haproxy:latest"
links:
- api
- web
ports:
- "443:443"
- "80:80"
roles:
- global
environment:
- "DEFAULT_SSL_CERT=-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----"
Что сработало для меня, так это установка VIRTUAL_HOST
вот так:
VIRTUAL_HOST=*/api*, https://*/api*
Также DEFAULT_SSL_CERT
разрывы строк допустимы.