Baptiste,

Thanks for the heads up.  Just to make sure I understand, you're saying
that my "balanced" application server, in this case a tomcat pair, needs to
account for the header modification and it does not appear that it is
currently doing that?  If so, thanks for your help, I can take that to my
developers!


On Wed, May 28, 2014 at 8:45 AM, Baptiste <[email protected]> wrote:

> On Wed, May 28, 2014 at 3:00 PM, Souda Burger <[email protected]>
> wrote:
> > I have an haproxy server set up with a compiled 1.5-dev25 version of
> > HaProxy.  I am needing SSL and since SSL isn't available in 1.4, I
> compiled
> > 1.5.  I have everything working, but I noticed something peculiar and
> wasn't
> > sure if this was expected behavior or not.  Below is my SSL haproxy.cfg
> file
> > along with the wget that I performed against my websserver.  It appears
> to
> > initially redirect HTTPS to HTTP which then rewrites the connection back
> to
> > HTTPS.  Again, is this expected behavior or is something in my config
> > incorrect?  Thanks!
> >
> > global
> >     daemon
> >     log 127.0.0.1 local2
> >     maxconn 4096
> >     user haproxy
> >     group haproxy
> >     chroot /var/chroot/haproxy
> >
> >    defaults
> >     log global
> >     mode http
> >     retries 3
> >     option httplog
> >     option dontlognull
> >     option redispatch
> >     timeout server 50000
> >     timeout client 50000
> >     timeout connect 5000
> >
> > frontend http_in
> >
> >   bind *:80
> >   default_backend portalbackend
> >
> > frontend https_in
> >   reqadd X-Forwarded-Proto:\ https
> >   bind *:443 ssl crt /etc/haproxy/haproxy.crt
> >   default_backend portalbackend
> >
> > backend portalbackend
> >   balance leastconn
> >   redirect scheme https if !{ ssl_fc }
> >   option httpchk GET /login.jsp
> >   option forwardfor
> >   option http-server-close
> >   server node1 <ip1>:8080 check inter 5000
> >   server node2 <ip2>:8080 check inter 5000
> >
> >
> >
> > 07:53:18 ~$ wget https://haproxy --no-check-certificate
> > --2014-05-28 07:59:55--  https://haproxy/
> > Resolving haproxy... 192.168.8.213
> > Connecting to haproxy|192.168.8.213|:443... connected.
> > WARNING: cannot verify haproxy's certificate, issued by
> > '/CN=www.exceliance.fr':
> >   Self-signed certificate encountered.
> >     WARNING: certificate common name 'www.exceliance.fr' doesn't match
> > requested host name 'haproxy'.
> > HTTP request sent, awaiting response... 302 Found
> > Location: http://haproxy/login.jsp [following]
> > --2014-05-28 07:59:55--  http://haproxy/login.jsp
> > Connecting to haproxy|192.168.8.213|:80... connected.
> > HTTP request sent, awaiting response... 302 Found
> > Location: https://haproxy/login.jsp [following]
> > --2014-05-28 07:59:55--  https://haproxy/login.jsp
> > Reusing existing connection to haproxy:443.
> > HTTP request sent, awaiting response... 200 OK
> > Length: 7327 (7.2K) [text/html]
> > Saving to: 'index.html.1'
> >
> >
> 100%[=====================================================================================================================>]
> > 7,327       --.-K/s   in 0s
> >
> > 2014-05-28 07:59:55 (81.3 MB/s) - 'index.html.1' saved [7327/7327]
> >
>
>
> Hi Souda,
>
> The first 302 seems to be sent by your application server which does
> not seems to take into account you "X-Forwarded-Proto" header.
>
> Baptiste
>

Reply via email to