Re: Availability of HAProxy on Windows Server

2015-03-27 Thread Simon Dick
I'm afraid Windows isn't a supported platform, please see
http://www.haproxy.org/#plat

On 26 March 2015 at 21:38, Abhijit Damle abhijit.da...@beca.com wrote:
 Hi,



 Do you have any version of HAProxy supported on Windows Server
 editions (server 2008, server 2012 etc). if so from where can I download it?



 Thanks and regards,

 Abhijit Damle
 Senior Software Engineer
 Beca
 www.beca.com




 ---

 NOTICE: This email, if it relates to a specific contract, is sent on behalf
 of the Beca company which entered into the contract. Please contact the
 sender if you are unsure of the contracting Beca company or visit our web
 page http://www.beca.com for further information on the Beca Group. If this
 email relates to a specific contract, by responding you agree that,
 regardless of its terms, this email and the response by you will be a valid
 communication for the purposes of that contract, and may bind the parties
 accordingly.
 This e-mail together with any attachments is confidential, may be subject to
 legal privilege and may contain proprietary information, including
 information protected by copyright. If you are not the intended recipient,
 please do not copy, use or disclose this e-mail; please notify us
 immediately by return e-mail and then delete this e-mail.

 ---



Re: Availability of HAProxy on Windows Server

2015-03-27 Thread Baptiste
Use hyperv and a linux VM inside.
It works pretty well :)

Baptiste

On Fri, Mar 27, 2015 at 12:50 PM, Simon Dick sim...@irrelevant.org wrote:
 I'm afraid Windows isn't a supported platform, please see
 http://www.haproxy.org/#plat

 On 26 March 2015 at 21:38, Abhijit Damle abhijit.da...@beca.com wrote:
 Hi,



 Do you have any version of HAProxy supported on Windows Server
 editions (server 2008, server 2012 etc). if so from where can I download it?



 Thanks and regards,

 Abhijit Damle
 Senior Software Engineer
 Beca
 www.beca.com




 ---

 NOTICE: This email, if it relates to a specific contract, is sent on behalf
 of the Beca company which entered into the contract. Please contact the
 sender if you are unsure of the contracting Beca company or visit our web
 page http://www.beca.com for further information on the Beca Group. If this
 email relates to a specific contract, by responding you agree that,
 regardless of its terms, this email and the response by you will be a valid
 communication for the purposes of that contract, and may bind the parties
 accordingly.
 This e-mail together with any attachments is confidential, may be subject to
 legal privilege and may contain proprietary information, including
 information protected by copyright. If you are not the intended recipient,
 please do not copy, use or disclose this e-mail; please notify us
 immediately by return e-mail and then delete this e-mail.

 ---




Re: Does HAproxy support sending ServerName TLS extension to backend servers?

2015-03-27 Thread Brandon
Jarno,

Thank you your suggestion for setting the default ADFS certificate worked!

On Thu, Mar 26, 2015 at 12:44 AM, Jarno Huuskonen jarno.huusko...@uef.fi
wrote:

 Hi,

 On Wed, Mar 25, Shawn Heisey wrote:
  On 3/25/2015 10:16 AM, Brandon wrote:
   Hi, I am trying to deploy HAProxy in HTTP mode in front of a Windows
   Server 2012 R2 ADFS 3.0 farm. In ADFS 3.0 backend servers require that
   clients support SNI.
  
   In my testing it does not appear that HAProxy is sending the ServerName
   extension in the TLS handshake and as a result I am receiving a Bad
   Gateway error. The HAProxy logs just say Connection error during SSL
   handshake. I captured the traffic with wireshark and the ServerName
 TLS
   extension is indeed missing and the ADFS server is sending a RESET
   packet right after the SSL HELLO packet.

 Do any of the force-tls10, force-tls11 or force-tls12 (or no-sslv3)
 make any difference ?

  Haproxy 1.5 does support SNI, but in order for it to work, the version
  of openssl used must also support it.  If you're running an old OS, it
  might not have that support.  RHEL6 and its derivatives (like CentOS6)
  include openssl 0.9.8e, and I don't think that version has SNI ... the

 CentOS6 (6.6) comes with openssl 1.0.1e, but it also has compatibility
 package:
 openssl098e. (haproxy -vv should show what version you're using).

 It should be possible to configure ADFS not to require SNI(=add default
 binding), we're testing netscaler as adfs proxy (netscaler doesn't suppot
 SNI on backend). And the default binding seems to work.
 (For example: http://jesperstahle.azurewebsites.net/?p=1382)

 -Jarno

 --
 Jarno Huuskonen




Re: Re: Does HAproxy support sending ServerName TLS extension to backend servers?

2015-03-27 Thread Remi Gacogne
On 03/26/2015 08:34 AM, Baptiste wrote:

 HAProxy does not support SNI on backend yet.
 The biggest problem is not to send the SNI, the problem is what to send :)
 Do you send the Host header sent by the client, do you want to forge
 one, what happens if you do rewritting of the Host header, etc...
 So we could discuss the options here, then we'll be able to code
 something I guess...

Hi,

FWIW, Apache HTTPd's mod_proxy sends a server_name value equals to the
Host header contained in the request sent to the backend. It may be
the request header (possibly rewritten) if the ProxyPreserveHost option
is set to On, otherwise it's the backend's hostname.

Note that:
- rfc6066 section 3 explicitly forbids sending a literal IPv4 or IPv6
address, the server_name value must be a FQDN ;
- connection reuse is tricky when SNI is enabled, as the same connection
cannot be reused if the server_name value differs.






signature.asc
Description: OpenPGP digital signature


active/passive with no failback; stick table not 100% sticky?

2015-03-27 Thread Michael Bayer
Hi there -

We are evaluating different ways of using the “stick match” and “backup”
options in order to achieve certain behaviors for failover, involving a
Galera cluster. For reference, we’re picking and choosing from this blog
post:
http://blog.haproxy.com/2014/01/17/emulating-activepassing-application-clustering-with-haproxy/.

We’re basically looking to have all connections on only one server at all
times; as soon as a server is available, everyone should be kicked off and
blocked from any other servers in the backend. This is because while Galera
is a “multi-master” cluster, we’re trying to have the application only use
one node as “master” at a time, at least for the moment.  

it seems like using just the “stick” table alone, as in: 

backend db-vms-galera
option httpchk
stick-table type ip size 1
stick on dst
timeout server 90m
server rhos-node1 rhel7-1:3306 check inter 1s port 9200 
on-marked-down shutdown-sessions
server rhos-node2 rhel7-2:3306 check inter 1s port 9200 
on-marked-down shutdown-sessions
server rhos-node3 rhel7-3:3306 check inter 1s port 9200 
on-marked-down shutdown-sessions

is not enough; from my observations running the “show table” socket command
and watching the logs, when a node goes down, its entry still remains in the
stick table for some period of time, and new connections, assuming they
continue to come in fast, have no choice but to skip stick match altogether
(I can provide logs and samples that show this happening).

So we would then gather that the best configuration is this:

backend db-vms-galera
option httpchk
stick-table type ip size 1
stick on dst
timeout server 90m
server rhos-node1 rhel7-1:3306 check inter 1s port 9200 
on-marked-down shutdown-sessions
server rhos-node2 rhel7-2:3306 check inter 1s port 9200 
on-marked-down shutdown-sessions backup
server rhos-node3 rhel7-3:3306 check inter 1s port 9200 
on-marked-down shutdown-sessions backup

this works a lot better; when I kill node1, all the connections go to node2
unambiguously. Then, our galera cluster in an effort to bring node1 back up,
puts node2 into “Read only” mode, which bounces all connections to node3. At
this point node1 comes back and then the stick table does not appear to be
of any use; most connections continue to go to node3 and querying the stick
table shows that it’s set to node3, however a handful of requests also go
back to node1. So again this is not a pure “active/passive” setup, multiple
nodes get hit at the same time. Was wondering if this behavior could be
clarified and how we can use the stick table as an absolute “gate” for all
requests, where no connections will fall through if a server goes down or
comes back up.

I had hopes for the unusual setup of just making all three servers a
“backup” server:

backend db-vms-galera
option httpchk
timeout server 90m
server rhos-node1 rhel7-1:3306 check inter 1s port 9200 
on-marked-down shutdown-sessions backup
server rhos-node2 rhel7-2:3306 check inter 1s port 9200 
on-marked-down shutdown-sessions backup
server rhos-node3 rhel7-3:3306 check inter 1s port 9200 
on-marked-down shutdown-sessions backup

The idea being, no server is “official”, so there’s nothing to “fail back”
towards. This sort of seemed to work but still seems like it wants to “fail
back” up from node 3 to node2, to node 1; this approach seems to do the best
job of making sure all connections are all on one server, though; not
perfectly because it doesn’t bump off connections still talking to the
being-replaced server, but still fairly well.

Any insight on the usage of the stick table here would be appreciated!