Hello Pavlos,

An update:  Following your guidance, we have successfully transitioned from 
using 'system V init' to 'systemd' in order to start/stop/reload HAProxy.  
Thank you for helping us advance with times.

We would appreciate your guidance on why using multiple HAProxy config files in 
a directory forces us to reset our password to our WebSocket product for us to 
login?  HAPRoxy configuration is in the previously posted message.
Sincerely,
Hemant K. Sabat

-----Original Message-----
From: Coscend@HAProxy [mailto:haproxy.insig...@coscend.com] 
Sent: Saturday, April 8, 2017 4:18 AM
To: 'Pavlos Parissis' <pavlos.paris...@gmail.com>; 'haproxy' 
<haproxy@formilux.org>
Subject: RE: Multiple Config Files Use Leads to Lockout

Hello Pavlos,

Below we have provided both the information you requested.  Your guidance would 
be appreciated.
(1) Sanitized version of HAProxy configuration is below. Please help us 
identify why using multiple HAProxy config files in a directory forces us to 
reset our password to our WebSocket product for us to login?  Single 
haproxy.cfg file works perfectly with the same configuration.

(2) >> May I ask why you are using the SysVinit and not systemd to start 
haproxy? You are using CentOS 7.2, which uses systemd, Thank you for guiding us 
to use systemd.  Today, we created a haproxy.service executable file in 
/usr/lib/systemd/system/haproxy.service, but failed to start HAProxy.  The 
haproxy.service file is below.  What did we do wrong?


----
HAProxy configuration file (sanitized)
----
global
    log                 127.0.0.1 local2     
    log-tag             haproxy                   
    pidfile             /var/run/haproxy.pid            
    user                haproxy                   
    group               haproxy
    nbproc              1
    maxconn             5000                       
    spread-checks       5                       
    debug                                 
    chroot              "/usr/local/haproxy-1.7.5/lib"             
    stats socket        ""/usr/local/haproxy-1.7.5/lib/haproxy.sock"     

    maxsslconn     256                                  
    tune.ssl.default-dh-param 4096                      
    ca-base /etc/pki/CA/ssl.cert                                        

    crt-base /etc/pki/CA/ssl.key
    ssl-default-bind-ciphers 
ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
    ssl-default-bind-options no-sslv3 no-tls-tickets
    ssl-default-server-ciphers 
ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
    ssl-default-server-options no-sslv3 no-tls-tickets

    maxcomprate                 1               
    maxcompcpuusage             50                  
    tune.comp.maxlevel          5               

defaults
    mode        http              
    log         global            
    option      httplog           
    option      http-server-close 
    option      redispatch        
    retries     3
    backlog 10000
    timeout client      50000ms                 
    timeout connect     5000ms                  
    timeout server      50000ms                 
    timeout http-keep-alive     10s    
    timeout http-request        15s    
    timeout queue               30s   
    timeout check               10s
    timeout tarpit              60s
    default-server inter 3s rise 2 fall 3
    option                      forwardfor              
    option                      abortonclose      
    maxconn                     50000
    compression algo gzip 
    compression offload 
    compression type text/html "text/html; charset=utf-8" 
text/html;charset=utf-8 text/plain text/css text/javascript 
application/x-javascript application/javascript application/ecmascript 
application/rss+xml application/atomsvc+xml application/atom+xml 
application/atom+xml;type=entry application/atom+xml;type=feed 
application/cmisquery+xml application/cmisallowableactions+xml 
application/cmisatom+xml application/cmistree+xml application/cmisacl+xml 
application/msword application/vnd.ms-excel application/vnd.ms-powerpoint 
image/svg+xml
    errorfile 400 /usr/local/haproxy-1.7.5/errors/400.http
...

frontend webapps-frontend
    bind          *:443 name https ssl crt /etc/pki/CA/pem.ecc  
    log           global               
    option        forwardfor           
    option        httplog clf
    http-request set-header X-Forwarded-Port %[dst_port]  
    acl host_coscend_http    req.hdr(Host) coscend.com
    acl host_coscend_https    req.hdr(Host) coscend.com
    acl path_subdomain_cc_classic path_beg -i "/CoscendCC"
    use_backend subdomain_cc_classic-backend if host_coscend_https 
path_subdomain_cc_classic         
    default_backend webapps-backend   

backend webapps-backend   
    log           global        
    balance       roundrobin
    option        http-server-close 
    http-request set-header X-Forwarded-Port %[dst_port]                  
    option        httpchk HEAD / HTTP/1.1\r\nHost:localhost               
    server Demo <IP>:Port cookie pad-p check    

backend subdomain_cc_classic-backend
    timeout tunnel      3600s                   
    rspirep ^(Location:)\ http://(.*)$   Location:\ https://\2
    server Production <IP>:<Port> cookie cc-p check 

-----
Using systemd to start HAProxy with following haproxy.service FAILED
------
[Unit]
Description=HAProxy Load Balancer
After=network.target

[Service]
Environment="CONFIG=/usr/local/haproxy-1.7.5/conf/haproxy.cfg" 
"PIDFILE=/var/run/haproxy.pid" "LOCKFILE=/var/lock/subsys/haproxy"
ExecStartPre=/usr/local/sbin/haproxy -f $CONFIG -c -q 
ExecStart=/usr/local/sbin/haproxy-systemd-wrapper -D -V -f $CONFIG -p $PIDFILE 
ExecReload=/usr/local/sbin/haproxy -f $CONFIG -c -q KillMode=mixed 
Restart=always

[Install]
WantedBy=multi-user.target


Thank you.

Sincerely,

Hemant K. Sabat
 
Coscend Communications Solutions
Web site: www.Coscend.com
------------------------------------------------------------------
Real-time, Interactive Video Collaboration, Tele-healthcare, Tele-education, 
Telepresence Services, on the fly…
------------------------------------------------------------------
CONFIDENTIALITY NOTICE: See 'Confidentiality Notice Regarding E-mail Messages 
from Coscend Communications Solutions' posted at: 
http://www.Coscend.com/Terms_and_Conditions.html 




-----Original Message-----
From: Pavlos Parissis [mailto:pavlos.paris...@gmail.com] 
Sent: Friday, April 7, 2017 3:11 PM
To: haproxy.insig...@coscend.com; 'haproxy' <haproxy@formilux.org>
Subject: Re: Multiple Config Files Use Leads to Lockout

On 07/04/2017 06:00 μμ, Coscend@HAProxy wrote:
> Dear HAProxy Community,
> 
>  
> 
> We are seeking your guidance with regard to the following issue we are 
> facing with our HAProxy use.
> 
>  
> 
> ------
> 
> ISSUE
> 
> -------
> 
> When we use a single monolithic config file (haproxy.cfg), HAPRoxy 
> launches fine and we are able to access our products that use HTTP/TCP 
> (WebSockets) and RTMP.
> 
>  
> 
> When we launch HAProxy using multiple config files in a directory, 
> HAProxy launches fine.  However, our products do not allow 
> administrator to login (i.e., locks out).  We have to reset the 
> password to login.  Once the admin logs out, again it locks out the 
> administrator and the password has to be reset to login.
> 
>  
> 
> How is using multiple HAProxy config files in a directory connected to 
> logging in to our WebSocket product?
> 
>  
> 
> ----
> 
> DETAILS
> 
> ----
> 
> We are running HAProxy as a daemon service.  We are using HAProxy init 
> script from HAProxy’s Github source.  /etc/init.d/haproxy has the following 
> lines:
> 

May I ask why you are using the SysVinit and not systemd to start haproxy? You 
are using CentOS 7.2, which uses systemd, thus my question.

>  
> 
> Option 1:  When using SINGLE Config FILE
> 
> CFG=haproxy-1.7.5/conf/$BASENAME.cfg
> 
>  
> 
> Option 2:  When using a config DIRECTORY (conf.modular) with multiple 
> files in alphanumerical order, namely global, defaults, frontend, 
> backend, dns resolver and statistics:
> 
> CFG=haproxy-1.7.5/conf.modular
> 
>  

Without seeing the actual configuration, it would be quite difficult to get a 
useful response. Can you share a sanitized version of your configuration?

Cheers,
Pavlos



Reply via email to