我正在使用dockercloud/haproxy图像代理并平衡传入的 http 请求。docker 容器应监听端口 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-----"
答案1
对我有用的是VIRTUAL_HOST
这样设置:
VIRTUAL_HOST=*/api*, https://*/api*
换行也是DEFAULT_SSL_CERT
可以的。