Using 1.5-dev25. Sometimes for transitional support, we need to temporarily
use a non-standard port for frontend SSL traffic. Is there anything that
might prevent identical requests from matching the below frontend/backend
if they're sent to :8080 instead of :443?

frontend https-in
    bind *:443 ssl crt /etc/haproxy/sslcerts/tmpcert.pem
    bind *:8080 ssl crt /etc/haproxy/sslcerts/tmpcert.pem
    use_backend ssl_app if { hdr_sub(host) -i app.prod }

backend ssl_app
    option httpchk GET /health
    server app1 app1.prod:8080 ssl check
    server app2 app2.prod:8080 ssl check


The following is the output and log entry from a request to port 443:

$ curl -k https://proxy.prod/health
"OK"

haproxy[4424]: 10.20.30.40:53283 [03/Jun/2014:15:49:03.097] https-in~
app.prod/app1
455/0/97/4/556 200 147 - - ---- 0/0/0/0/0 0/0 "GET /health HTTP/1.1"


The following is an identical curl/output/log, only using port 8080 instead

$ curl -k https://proxy.prod:8080/health
<html><body><h1>503 Service Unavailable</h1>
No server is available to handle this request.
</body></html>

haproxy[4424]: 10.20.30.40:53291 [03/Jun/2014:15:49:09.750] https-in~
https-in/<NOSRV> -1/-1/-1/-1/453 503 213 - - SC-- 0/0/0/0/0 0/0 "GET
/health HTTP/1.1"

Reply via email to