经过大量谷歌搜索,我终于让我的 haproxy ssl 正常工作。但是现在我遇到了问题,因为没有安装根证书和中间证书,所以我的 ssl 没有绿条。
我的 haproxy 配置
global
maxconn 4096
nbproc 1
#debug
daemon
log 127.0.0.1 local0
defaults
mode http
option httplog
log global
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend unsecured
bind 192.168.0.1:80
timeout client 86400000
reqadd X-Forwarded-Proto:\ http
default_backend www_backend
frontend secured
mode http
bind 192.168.0.1:443 ssl crt /etc/haproxy/cert.pem
reqadd X-Forwarded-Proto:\ https
default_backend www_backend
backend www_backend
mode http
balance roundrobin
#cookie SERVERID insert indirect nocache
#option forwardfor
server server1 192.168.0.2:80 weight 1 maxconn 1024 check
server server2 192.168.0.2:80 weight 1 maxconn 1024 check
192.168.0.1 是我的负载均衡器 ip。/etc/haproxy/cert.pem 包含私钥和域证书,例如。www.domain.com
ssl 配置还有另一个问题,其中包括 bundle.crt。当我联系我的 ssl 支持时,他们告诉我需要安装根证书和中间证书。
从Comodo Documentation,创建捆绑包很简单,就像合并我制作的 crt 一样。
但是当我尝试将我的 haproxy 配置重新配置为
bind 192.168.0.1:443 ssl crt /etc/haproxy/cert.pem ca-file /path/to/bundle.crt
我收到错误,我无法在绑定时使用该配置参数。
ps 我使用 1.5 dev12 版本。使用最新的 dev17 版本,我什至在这篇文章中启动 haproxy 时遇到了问题