Ssl

我應該如何配置 dockercloud/haproxy 來代理 https?

  • December 28, 2016

我正在使用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-----"

對我有用的是VIRTUAL_HOST這樣設置:

VIRTUAL_HOST=*/api*, https://*/api*

DEFAULT_SSL_CERT換行也很好。

引用自:https://serverfault.com/questions/808712