haproxy在Apache前面用SSL进行本地开发

我在一个Web应用程序上工作,该应用程序定期对通过相同域访问的REST服务器(在生产中)进行AJAX调用。 在本地开发的过程中,我一直使用haproxy将REST调用redirect到dev服务器,以避开浏览器跨源请求限制。

haproxy.cfg

global maxconn 4096 pidfile ~/tmp/haproxy.pid defaults log global log 127.0.0.1 local0 log 127.0.0.1 local1 notice mode http timeout connect 300000 timeout client 300000 timeout server 300000 maxconn 2000 option redispatch retries 3 option httpclose option httplog option forwardfor option httpchk HEAD / HTTP/1.0 frontend dev bind *:8080 ssl crt /path/to/proxy.pem acl allow_php path_beg /app/ acl allow_rest path_beg /rest/ use_backend be_php if allow_php use_backend be_rest if allow_rest backend be_php balance roundrobin server localhost_80 localhost:80 backend be_rest balance roundrobin server dev_80 dev.example.com:80 

这按预期工作:

  • https://localhost:8080/app/login显示与http://localhost/app/login
  • https://localhost:8080/rest/test响应与http://dev.example.com/rest/test相同

当我尝试在HAproxy和后端(希望使用SSL)之间configurationhaproxy进行SSLconfiguration时出现问题。

根据我所阅读的所有文件,下列变化应该让我全部设定:

 backend be_php balance roundrobin server localhost_443 localhost:443 ssl verify none backend be_rest balance roundrobin server dev_443 dev.example.com:443 ssl verify none 

但是在进行这些更改之后, https://localhost:8080请求超时。 可以通过https://localhost/app/...https://dev.example.com/rest/... https://localhost/app/...直接访问php后端和REST后端

任何想法,我做错了什么?

编辑:更新以反映@ Michael-sqlbot的评论