我有openshift scalable play application我的问题,我无法强制使用https,我只想提供以/portal
或/api
所以,如果我点击https://www.example.com
之类的东西,我不想让haproxy关心它,因为我已经为主网站提供了一个WordPress,但如果我点击了https://www.example.com/api '然后必须涉及HAProxy并且负载平衡器应该在自动缩放的齿轮之间工作。
我为HAProxy配置尝试了很多答案,包括文档: http://cbonte.github.io/haproxy-dconv/1.4/configuration.html#4.2-redirect%20scheme 和 https://developers.openshift.com/faq/troubleshooting.html#_how_do_i_redirect_traffic_to_https 乃至 https://github.com/openshift/origin/blob/master/images/router/haproxy/conf/haproxy-config.template
像redirect scheme https if !{ ssl_fc }
这样的东西根本没用。
没有任何帮助,一旦我添加frontend
它就会停止工作,我无法在我的应用程序设备内的任何位置看到日志文件。
我怎么做?
以下是我的haproxy.cfg
defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
#option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 128
listen stats 127.9.3.131:8080
mode http
stats enable
stats uri /
listen express 127.9.3.130:8080
cookie GEAR insert indirect nocache
option httpchk GET /portal
http-check expect rstatus 2..|3..|401
balance leastconn
server local-gear 127.9.3.129:8080 check fall 2 rise 3 inter 2000 cookie local-xxxxxxxxxx
答案 0 :(得分:1)
我通过提供特定模式而不是https解决了这个问题,https的问题是在Openshift Cloud v2中使用的HAProxy的版本太旧了,他们拥有的旧版本不支持https,甚至更晚版本1.4的补丁未应用,Openshift的HAProxy版本为:HAProxy version 1.4.22, released 2012/08/09
!认真!正如我在HAProxy文档中看到的那样,最新的次要版本是1.4.27足以解决这个问题。
因此,为了强制使用HTTPS,我从应用程序而不是HAProxy开始执行此步骤。
无论如何,为了提供特定的模式(在我的例子中,我只为/ api和/ portal服务)配置文件改为类似下面的代码,请注意,我删除了listen
并使用了{ {1}}和backend
代替:
frontend
请注意以下事项:
frontend express
acl api path_beg -i /api
acl portal path_beg -i /portal
bind 127.9.3.130:8080
use_backend servers if api
use_backend servers if portal
default_backend website
cookie GEAR insert indirect nocache
backend servers
option httpchk GET /portal
http-check expect rstatus 2..|3..|401
balance leastconn
server local-gear 127.9.3.130:8080 check fall 2 rise 3 inter 2000 cookie local-xxxxxxxxxx
backend website
balance leastconn
server webserver DOMAIN_IP
替换为原始配置文件中提供的齿轮ID。< / LI>
<强> P.S:强> Openshift online v2已被弃用,从明年8月起它也将停止接受任何新帐户,v3应该会更好,但直到现在它仍然是预览&#34;尚未公开发布。