[SPAM] hey a piece öf useful infö

2017-09-11 Thread Qingshan Xie
I föund söme interesting införmatiön that seems tö be very useful, check it  
öut  here http://bugiardini.it/lots.php?UE9oYXByb3h5QGZvcm1pbHV4Lm9yZw--


Wishes, Qingshan Xie



From: haproxy [mailto:haproxy@formilux.org]
Sent: Tuesday, September 12, 2017 12:07 AM
To: lind...@mallorn.com
Subject: dont see you :(

Speaking of which, at what type of stats is a character good for LB3?
I bought it for  good measures, but  with a  level 41 character (20 mage, 20  
black knight, 1 valkyrie) and  a level 20 Chrom,  I got 2 shoted  by the mage 
guy starting  south. So  that ended badly...  too  early I guess.

So, maybe another 20 levels? Plus leveling  up Chrom as well, will that  be 
enough?


Sent from Mail for Windows 10

[SPAM] Fw: what do you think?

2017-05-28 Thread Qingshan Xie
Hello friend, 

I'm writing a review  on  an  interesting book right now, please  read  some 
extracts here http://send.conformities.ca and tell me  what you  think.


Very truly yours, Qingshan Xie


Sent from Mail for Windows 10

Re: Strange behavior on "reqirep"

2014-11-19 Thread Qingshan Xie
CORRECTION:
Sorry Baptiste.  I mistyped your name in my previous email.
Thanks, Q.Xie 

 On Tuesday, November 18, 2014 11:37 PM, Qingshan Xie  
wrote:
   

 I configured my HAProxy to use 'reqirep' to replace the Host header from site 
A.site.com to B.site.com as below, 
backend SFARM-PROXYreqirep ^Host: Host:\ B.site.com         server Proxy 
B.site.com:80
When I tested it by accessing A.site.com/xyz, HAProxy redirected it to 
B.site.com/xyz in the first time.  its log shows 302.  but on the same browser, 
I typed A.site.com/xyz, HAProxy did not redirect it and log showed 200.  It's 
reproducible.  Can someone explain it?
Thanks, Q.Xie 

   

Re: Strange behavior on "reqirep"

2014-11-19 Thread Qingshan Xie
Hello Bapiste, 
    what I want is the rewriting not redirection to achieve an equivalent work 
of Apache "ProxyPreserveHost Off".  The key part of the configuration is pasted 
below,
   ..    backend SFARM-HTTP-XYZ-DEV    reqirep ^Host: Host:\ B.site.com    
server HTTP-XYZ-DEV B.site.com:80 
    acl HTTP-XYZ-DEV path_reg ^/xyz$|^/xyz/    use_backend SFARM-HTTP-XYZ-DEV 
if HTTP-XYZ-DEV     .
   What I want from this configuration is that, when I access 
http://A.cisco.com/xyz, browser keeps showing A.site.com/xyz, but the request 
is actually proxied  to http://B.site.com/xyz transparently.  Need your 
expertise.
    My HAProxy version is "HA-Proxy version 1.5.1 2014/06/24"
 Many Thanks, Q.Xie 

 On Wednesday, November 19, 2014 1:11 AM, Baptiste  wrote:
   

 On Wed, Nov 19, 2014 at 8:37 AM, Qingshan Xie  wrote:
> I configured my HAProxy to use 'reqirep' to replace the Host header from
> site A.site.com to B.site.com as below,
>
> backend SFARM-PROXY
> reqirep ^Host: Host:\ B.site.com
>          server Proxy B.site.com:80
>
> When I tested it by accessing A.site.com/xyz, HAProxy redirected it to
> B.site.com/xyz in the first time.  its log shows 302.  but on the same
> browser, I typed A.site.com/xyz, HAProxy did not redirect it and log showed
> 200.  It's reproducible.  Can someone explain it?
>
> Thanks, Q.Xie

Hi Qingshan,

HAProxy does not generates any 200, your server did.
Also, from the configuration you pasted, I can say that HAProxy has
not generated this 302 as well.

And I thing you're misunderstanding "redirection" and "rewriting".
- redirection means HAProxy will generate a 302 to the client, telling
him to come back to B.site.com when it is browsing on A.site.com
- rewritting means HAProxy will update HTTP headers on the fly when
the traffic is passing through it.

Can you confirm which of the above you want to achieve exactly?

Also, can you paste your whole configuration and tell us which version
of HAProxy you are using.

Baptiste



   

Strange behavior on "reqirep"

2014-11-18 Thread Qingshan Xie
I configured my HAProxy to use 'reqirep' to replace the Host header from site 
A.site.com to B.site.com as below, 
backend SFARM-PROXYreqirep ^Host: Host:\ B.site.com         server Proxy 
B.site.com:80
When I tested it by accessing A.site.com/xyz, HAProxy redirected it to 
B.site.com/xyz in the first time.  its log shows 302.  but on the same browser, 
I typed A.site.com/xyz, HAProxy did not redirect it and log showed 200.  It's 
reproducible.  Can someone explain it?
Thanks, Q.Xie 

How to get the right Virtual Name?

2014-06-06 Thread Qingshan Xie
Hello Guru:

I have a situation. When webServer 'A' proxies a request to a HAProxy 
Server 'B', the HAProxy server 'B' see the hostname in header is 'A' not 'B', 
is there a way to retrieve the hostname as B?

Thanks, Q.Xie

PREFIX setup in compilation not work

2014-02-11 Thread Qingshan Xie
I am compiling haproxy-1.5.22 in a Redhat 2.6.18 VMware. The compilation syntax 
is below, 
"make TARGET=linux26 USE_OPENSSL=1 ARCH=x86_64 
PREFIX="/opt/httpd/software/haproxy-1.5.22" -f Makefile"


The compilation succeeded but the $PREFIX in Makefile does not change, still 
point to "/usr/local".  Can someone help me to tell me why and how to fix it?

Many Thanks, 
Q.Xie

Re: [ANNOUNCE] haproxy-1.5-dev22

2014-02-06 Thread Qingshan Xie
Willy, 
in your release announcement, you mentioned 
"Some code is still pending for a next version. Thierry has finishedthe map+acl 
merge which will allow to manipulate ACLs on the fly just
like maps today, .."



On Sunday, February 2, 2014 4:48 PM, Willy Tarreau  wrote:
 
Hi all,

after 1.5 months of head scratching and hair pulling leading to many
bugs being fixed, here comes 1.5-dev22.

This release comes with two important changes :

  - rework of the whole polling system, which is the lower layer of
    haproxy ; This was needed to definitely get rid of the frequent
    regressions that were caused each time we did a small change
    more or less related to this area. The "speculative I/O" mechanism
    designed 7 years ago was totally reworked to become a complete
    event cache which remembers what direction a file descriptor is
    ready in even after being temporarily disabled. This was necessary
    because the previous model didn't work well with SSL. Or in fact,
    it used to work well enough to hide the fact that the SSL API is
    not compatible at all with polled I/O due to its internal buffers.
    This part was really difficult to get right, but the code is much
    less tricky and much safer, and despite the important change, I
    already trust it much more than I did for the previous one.

  - switch to HTTP keep-alive mode by default. This is a major step
    forwards since 1.1 where we used to run in tunnel mode by default.
    The reason is that tunnel mode was the only way to have something
    close to keep-alive for many years. Now that we have end-to-end
    keep-alive, we have no reason for keeping tunnel mode as the
    default. It causes all the trouble everyone has faced at least
    once ("my rule randomly matches") which everyone now is used to
    respond to with "your config is missing http-server-close". So
    now a config without any close directive is not tunnel anymore
    but end-to-end keep-alive. I know there are corner cases where
    people want the tunnel mode. There's now a new option "tunnel"
    exactly for this. It will be needed to have it in both the
    frontend and the backend, just as before when it was needed to
    have none of them there.

Eventhough I took extreme care on these changes and did many many
tests (I individually tested the 25 combinations of the 5 HTTP
modes), it is still possible that I didn't notice something, despite
this version currently being run in production on the main site. So
reports are welcome (success, doubts or failures).

I won't enumerate all of the 32 bugs that were fixed since dev21
(some of them introduced there) thanks to all the feedback we got
here on the list and to the detailed information some participants
provided.

The main interesting features that were included are :
  - optimization of the SSL buffer sizes during a handshake to
    reduce the number of round trips, as suggested by Ilya Grigorik.
    Tests run by Ilya show that the handshake time can be reduced by
    3! Work done by Emeric.

  - addition of more debugging information on the stats socket in
    "show info" such as SSL connections etc, and memory pools usage
    using "show pools".

  - added the ability to set a hard limit on the SSL session rate
    (maxsslrate) in order to protect the SSL stack against incoming
    connection rushes which can happen during a restart, a config
    change (eg: different algos) or an attack. It works exactly
    like the "rate-limit sessions" except that it applies to SSL
    only.

  - new "capture.req.hdr()" and "capture.res.hdr()" sample fetches
    are used to include contents of selected captured headers in logs
    or other headers (William).

  - keep-alive: stick to the same server if possible after receiving
    a 401 or 407 from the server, so that the user has a chance to
    complete an authentication handshake (eg: NTLM). This avoids the
    need for "option prefer-last-server" for such situations.

  - tcp-check: new "tcp-check connect" directive to establish a
    connection to a specific port. This allows multi-port checks
    (Baptiste).

Some code is still pending for a next version. Thierry has finished
the map+acl merge which will allow to manipulate ACLs on the fly just
like maps today, the code is still under review (massive changes),
and is so often requested that we'd better merge it before 1.5-final.

Another SSL optim is currently under test.

All the easy things that were pending have been merged. This leaves
us with only the bind-process fixes, buffer management to fix
compression on chunks, and the agent-checks modifications. We'll see
how all this goes and if some parts are too difficult to fix before
the release.

In the mean time, please test and report. Testers have been amazingly
helpful and determined these last months, and that's what makes the
quality in the end. So please continue like this!

Last point, I've been backporting all relevant fixes to 1.4 and am
pl

Re: Haproxy Load-Balance Scaling

2013-12-11 Thread Qingshan Xie
Thanks Lukas and Baptiste for your advices, which are very helpful.

It is clear to me that, the "peers" setup is needed for scaling the 
multi-master haproxy instances. According to Peers doc at 
http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#3.5, the 
stick-table is used for sync multi haproxy instances.  Do you know if this 
stick-table is viewable and manageable?  If yes, could you tell me how?

Thanks Again, 
Q.Xie



On Monday, December 9, 2013 3:18 PM, Lukas Tribus  wrote:
Hi,



>> Hello Experts,
>> not sure if this subject was already discussed or not, like to hear the
>> advices and suggestions.
>> If a single HAProxy instance as a load-balancer could not handle the
>> high-load traffic, how to scale multiple instances as a group of
>> load-balancers to handle the high-load?
> 
> [...]
> 
> You can Load-Balance your HAProxy servers using LVS, which is more or
> less a packet forwarder.
> It's dumb but very fast and can sustains millions of connections
> (since it manages only packets, it requires much less memory than
> HAProxy).

If you need to grow even larger, some DNS tricks may come in handy, like
active-active round-roubin and geolocation based redirect.

If even that is not enough and you need to scale horizontally, then you can
load balance the incoming traffic at your routers via ECMP. This scales as
long as your router has enough bandwidth and ports.


Also, some folks (cloudflare) use anycast even with TCP traffic like HTTP
and HTTPS to scale. But you need to consider the downsides of anycast with
TCP very carefully and design your network to compensate for it. You do not
want to "just switch this on".



Regards,

Lukas                          



"git clone http://git.1wt.eu/git/haproxy.git" hangs!

2013-12-11 Thread Qingshan Xie
Hello, 
I could not download haproxy source via "git clone 
http://git.1wt.eu/git/haproxy.git"; successfully, it just hung, no return.  
Googled it, seems it happened before due to the cache, but seems the issue 
still there.  Could someone help me to download it successfully?

Thanks, Q.Xie

Re: Haproxy Load-Balance Scaling

2013-12-06 Thread Qingshan Xie
Jonathan, 
I am interested in what you mentioned about using 1.5 "peers".  I googled it, 
but a little confused about "peers".  Is "peers" used for Failover or for 
Load-Balancer scaling?  I do not find a detail information how "peers" is 
working.  If you have one in handy, could you recommend it to me?

Thanks Again,
Q.Xie



On Friday, December 6, 2013 10:17 AM, Jonathan Matthews 
 wrote:
 
On 6 December 2013 17:50, Qingshan Xie  wrote:

> Godbach,
> Thanks for the quick reply and suggestions.
> To enable multi-process mode does increase the capacity but limited by host
> NIC bandwidth.  Can HAProxy be scaled to multi-node to host the same
> traffic?

Yes it can, but *you* have to make sure the traffic arrives at
multiple nodes, distributed correctly.
HAProxy plays no part in the decision of "which physical HAProxy node
will handle this traffic/packet/request?".

I believe that you can then use 1.5 and its peer support to
co-ordinate the multiple nodes' actions once the traffic /has/ been
distributed, but that's your job to do - not HAProxy's. [ I believe
this is the case, but only from reading this mailing list; I've not
run 1.5 in production yet. ]

Of course, you could combine a "dumb" layer 4 proxy (perhaps HAProxy
in TCP mode?), sitting in front of a more involved layer 7 proxy
running on more hosts. But this is only a fix for CPU contention:
you'll still be constrained by the NIC in the front proxy, unless you
arrange for the traffic to be distributed across nodes before it
arrives, somehow.

You may be interested in reading Willy's 2006 load balancing paper,
which I still find interesting and useful to this day. It has sections
talking about your problem:
http://www.exceliance.fr/sites/default/files/biblio/art-2006-making_applications_scalable_with_lb.pdf

Jonathan

Re: Haproxy Load-Balance Scaling

2013-12-06 Thread Qingshan Xie
Godbach, 
Thanks for the quick reply and suggestions.
To enable multi-process mode does increase the capacity but limited by host NIC 
bandwidth.  Can HAProxy be scaled to multi-node to host the same traffic?

Thanks again,
Q.Xie



On Friday, December 6, 2013 1:24 AM, Godbach  wrote:
 
On 2013/12/6 14:00, Qingshan Xie wrote:

> Hello Experts,
> not sure if this subject was already discussed or not, like to hear the
> advices and suggestions.
> If a single HAProxy instance as a load-balancer could not handle the
> high-load traffic, how to scale multiple instances as a group of
> load-balancers to handle the high-load?
>
> Thanks, Q.Xie
Hi,

You can enable multi-process mode for HAProxy by setting nbproc. The 
description of nbproc is as below:

nbproc 
Creates  processes when going daemon. This requires the "daemon"
mode. By default, only one process is created, which is the recommended 
mode of operation. For systems limited to small sets of file descriptors 
per process, it may be needed to fork multiple daemons. USING MULTIPLE 
PROCESSES IS HARDER TO DEBUG AND IS REALLY DISCOURAGED. See also "daemon".

-- 
Best Regards,
Godbach

Haproxy Load-Balance Scaling

2013-12-05 Thread Qingshan Xie
Hello Experts,
not sure if this subject was already discussed or not, like to hear the advices 
and suggestions.
If a single HAProxy instance as a load-balancer could not handle the high-load 
traffic, how to scale multiple instances as a group of load-balancers to handle 
the high-load?

Thanks, Q.Xie

ACL '-f' option not working

2013-08-26 Thread Qingshan Xie
I tried to use 'ACL -f' to upload the pattern from a file but cannot make it 
work.  I configured it as below, 
frontend PUBLIC
>       bind :80
>       acl rec_w7 path_beg -f test.cfg
>       use_backend WAS7-BACKEND if rec_w7
..

Here test.cfg is a file containing one pattern as below, 
/abc/
It works if I directly code them in as 
frontend PUBLIC
>       bind :80
>       acl rec_w7 path_beg /abc/
>       use_backend WAS7-BACKEND if rec_w7
..

Can some one helps?

Thanks, Q.Xie

Log information interpretation

2013-07-10 Thread Qingshan Xie
Hello:

I ran a graceful restart command as "aproxy -f conf/haproxy.cfg -f conf/w7.cfg 
-p run/haproxy.pid -sf $(cat run/haproxy.pid)", the haproxy.log shows the info 
below.  The 1st line of log shows 0 conn in Frontend and 9705 conns in Backend; 
then the 2nd line shows 9706 conns in Frontend and 0 conn in Backend.  How to 
interpret it?  Does it means in this graceful restart, HAProxy wait and 
terminate the backend conns first, then terminate the frontend connections?  
Please help me to interpret it correctly.
..
>Jul 10 11:18:17 localhost haproxy[5695]: Proxy BACKEND stopped (FE: 0 conns, 
>BE: 9705 conns). 
>Jul 10 11:18:17 localhost haproxy[5695]: Proxy FRONTEND stopped (FE: 9706 
>conns, BE: 0 conns).
>Jul 10 11:18:18 localhost haproxy[5695]: 10.19.145.183:55303 
>[10/Jul/2013:11:18:17.307] FRONTEND  
>BACKEND/IDEV3_1 808/0/0/3/811 200 608 - -  0/0/0/0/0 0/0 "GET 
>/index-ihs.html HTTP/1.1" 
>..Thanks, 
Q.Xie 

Re: Can HAProxy Reverse Proxy SSL to Backend?

2013-07-02 Thread Qingshan Xie
Hello Willy, 


   I am still unclear "how could 1 daemon HAProxy process handle thousands 
requests/connections simultaneously or concurrently?"  I thought the daemon 
should fork children to handle connections, but I could not see any children 
spawned  when did a load-test with 100 concurrent users.  Could you help me to 
understand it?

Thanks, Q.Xie




 From: Willy Tarreau 
To: Qingshan Xie  
Cc: Lukas Tribus ; "haproxy@formilux.org" 
; Nenad Merdanovic  
Sent: Monday, July 1, 2013 3:26 PM
Subject: Re: Can HAProxy Reverse Proxy SSL to Backend?
 

Hi,

On Mon, Jul 01, 2013 at 03:06:36PM -0700, Qingshan Xie wrote:
> Hello Willy and Lukas, 
> 
> 
>     I have 3 questions regarding HAProxy listed below, Please help.
> 
> 1. Can HAProxy handle 1000 ACL lines in one frontend service? what it's limit?

There is no limit. ACLs by themselves do not hurt, they just consume
a little bit of memory. Using them is what you should care about. That
said, the worst config I have ever seen had 45 ACLs and as many
"use_backend" rules. It was not very fast as you can imagine :-)

> 2. For 1 process of HAProxy, how many concurrent connections it can handle?

That can be configured in the global section for the process and
in each frontend section or in the default section for the services
themselves, please check the doc for this.

>  Can HAProxy configure Threads?

no.

> 3. Can HAProxy set a default frontend service?

I don't understand what you mean here.

Regards,
Willy

Re: Can HAProxy Reverse Proxy SSL to Backend?

2013-07-01 Thread Qingshan Xie
Willy, 

    To explain my last question "3. Can HAProxy set a default frontend 
service?"  I list a possible configuration below, 


frontend PUBLIC
    bind :80
    acl rec_w7 path_beg /A
    acl rec_w7 path_beg /B
    acl rec_w7 path_beg /B
    ..

   use_backend W7-Backend if rec_w7

    #Default
    #
    acl rec_w6 path_beg /*
    use_backend W6-Backend if rec_w6

    What I want HAProxy does is, if the request does not match any patterns in 
/A, /B, /C, ..  can the traffic be sent to the default, W6-Backend?  Is it 
doable?

Thanks, Q.Xie



 From: Willy Tarreau 
To: Qingshan Xie  
Cc: Lukas Tribus ; "haproxy@formilux.org" 
; Nenad Merdanovic  
Sent: Monday, July 1, 2013 3:26 PM
Subject: Re: Can HAProxy Reverse Proxy SSL to Backend?
 

Hi,

On Mon, Jul 01, 2013 at 03:06:36PM -0700, Qingshan Xie wrote:
> Hello Willy and Lukas, 
> 
> 
>     I have 3 questions regarding HAProxy listed below, Please help.
> 
> 1. Can HAProxy handle 1000 ACL lines in one frontend service? what it's limit?

There is no limit. ACLs by themselves do not hurt, they just consume
a little bit of memory. Using them is what you should care about. That
said, the worst config I have ever seen had 45 ACLs and as many
"use_backend" rules. It was not very fast as you can imagine :-)

> 2. For 1 process of HAProxy, how many concurrent connections it can handle?

That can be configured in the global section for the process and
in each frontend section or in the default section for the services
themselves, please check the doc for this.

>  Can HAProxy configure Threads?

no.

> 3. Can HAProxy set a default frontend service?

I don't understand what you mean here.

Regards,
Willy

Can HAProxy Reverse Proxy SSL to Backend?

2013-06-24 Thread Qingshan Xie
Hello, 

One feature of HAProxy is as a good Reverse Proxy(RP) server.  However, I could 
not find the right information or document to instruct how to configure HAProxy 
as a Reverse Proxy to SSL communication to the backends.  Here is the process 
flow in a infrastructure, 

Clients -> HAProxy Reverse Proxy(RP) -> SSL to Backends.

Can HAProxy RP SSL to Backend?  Please help.

Thanks, Q.Xie

can the "frontend" section be split?

2013-06-21 Thread Qingshan Xie
Hello Expert!

I am going to set a long list of L7 rules in my HAProxy.  For better 
management, I'd like split the L7 rules in the "frontend" section.  For 
example, I'd like to split haproxy.cfg into two files, the 2nd one named as 
haproxy.cfg.apps, which has only the L7 configuration.  See the configuration 
example below.  
haproxy.cfg
===
..
frontend PUBLIC
        bind :80

haproxy.cfg.apps
===
..
        # App1
        acl rec_w6 path_beg /A
        acl rec_w6 path_beg /B
        acl rec_w6 path_beg /C /D
        use_backend App1-Backend if rec_w6

        # App2
        #===
        acl rec_w7 path_beg /X

        use_backend App2-Backend if rec_w7

However, when I start it as "./sbin/haproxy -f haproxy.cfg -f 
haproxy.cfg.apps", it threw fatal errors as below, 
[ALERT] 171/184158 (508) : parsing [haproxy.cfg:apps:4]: unknown keyword 'acl' 
out of section.
[ALERT] 171/184158 (508) : parsing [haproxy.cfg.apps:5]: unknown keyword 'acl' 
out of section.
[ALERT] 171/184158 (508) : parsing [haproxy.cfg.apps:6]: unknown keyword 'acl' 
out of section.
[ALERT] 171/184158 (508) : parsing [haproxy.cfg.apps:7]: unknown keyword 
'use_backend' out of section.
[ALERT] 171/184158 (508) : Error(s) found in configuration file : 
haproxy.cfg.apps
[ALERT] 171/184158 (508) : Fatal errors found in configuration.

Could someone tell me if there is a way to do it?

Thanks, Q.Xie