Dear HAProxy Community,

 

Your guidance on the following issue we are facing would be appreciated.

 

CONTEXT

----------

We are running two versions of our application--APP-3.3.0 and APP-3.3.2--on
the same server and same environment.  Both the APPs are running perfectly
if we directly access them, while bypassing HAProxy.

 

ISSUE

---------

While accessing these APPs through HAProxy, 

1.     APP-3.3.0:  HAProxy is capturing JSESSIONID in logs.  

2.     APP-3.3.2: HAProxy is NOT capturing JSESSIONID in logs.  

 

 

QUESTION

----------------

Could you please advise how HAProxy captures application session cookies?  

Is the capture portion of our HAProxy config below incorrect?  

Or, is there a problem with our APP-3.3.2?  

Thank you.

 

 

=========LOGS and CONFIG PARAMETERS=============

 

HAProxy logs

-----------------

APP-3.3.0:  HAProxy captures JSESSIONID in each log line.

Sep 21 13:36:07 localhost haproxy[10415]: 192.168.100.152:56085
[21/Sep/2017:13:36:07.914] webapps-frontend~ subdomain-backend/APP-3.3.0
0/0/0/3/10 200 86916 JSESSIONID=66BC3A6F228503A5D39F4B8E6F1FF951 - ----
6/6/0/0/0 0/0 {<ourdomain>.com||https://<ourdomain>.com/Co}
{|86575|max-age=||||||||||cache|||||} "GET
/APP-3.3.0/wicket/resource/org.apache.wicket.resource.JQueryResourceReferenc
e/jquery/jquery-3.2.1-ver-3B390F5614B3789CE71FFA5C856AA35E.js HTTP/1.1"

 

 

APP-3.3.2:  JSESSIONID is missing in majority of the log lines.

Sep 21 13:39:23 localhost proxy-server[10517]: 192.168.100.152:56391
[21/Sep/2017:13:39:23.450] webapps-frontend~ subdomain-backend/APP-3.3.2
0/0/1/4/8 200 86916 - - ---- 6/6/0/0/0 0/0
{<ourdomain>.com||https://<ourdomain>.com/Co}
{|86575|max-age=||||||||||cache|||||} "GET
/APP-3.3.2/wicket/resource/org.apache.wicket.resource.JQueryResourceReferenc
e/jquery/jquery-3.2.1-ver-3B390F5614B3789CE71FFA5C856AA35E.js HTTP/1.1"

 

 

HAProxy 1.7.9 config (Relevant portion)

======================

.

frontend webapps-frontend

.

    http-request set-header X-Forwarded-Port %[dst_port]  

    http-request set-header X-Forwarded-Proto https if { ssl_fc }        

 

    ### Logging options

    option        httplog 

    log           global               

    #option       logasap

 

    capture cookie JSESSIONID len 124                           

    capture request  header Host len 64                         

    capture request  header Content-Length len 10               

    capture request  header Referer len 32                      

    capture response header Server len 20                       

    capture response header Content-Length len 10               

    capture response header Cache-Control len 8                 

    capture response header Via len 20                          

    capture response header Location len 20                     

    capture response header X-Backend-Server-Name len 20        

    

    capture response header Content-Security-Policy len 128     

    capture response header Strict-Transport-Security len 64    

    capture response header X-Frame-Options len 32              

    capture response header X-XSS-Protection len 32             

    capture response header X-Content-Type-Options len 32       

    capture response header Referrer-Policy len 32              

    capture response header Pragma len 32                       

    capture response header Transfer-Encoding len 32            

    

    capture response header Access-Control-Allow-Origin len 32

    capture response header Access-Control-Allow-Headers len 32

    capture response header Access-Control-Allow-Methods len 32

    capture response header Access-Control-Allow-Credentials len 20

 

backend subdomain-backend

    http-response set-header Strict-Transport-Security "max-age=31536000;
includeSubDomains; preload"             

    http-response set-header X-Frame-Options "SAMEORIGIN" # or "DENY"

    http-response set-header X-XSS-Protection "1; mode=block"

    http-response set-header X-Content-Type-Options "nosniff"

   http-response set-header Referrer-Policy "no-referrer-when-downgrade"


    http-response set-header Pragma "no-cache" #Deprecated, only for
backwards compatibility with HTTP/1.0 clients.

    http-response set-header Cache-Control "nocache, no-store"


 

    http-response set-header Access-Control-Allow-Origin "*"
#"%%{AccessControlAllowOrigin} env=AccessControlAllowOrigin"

    http-response set-header Access-Control-Allow-Headers "Origin,
X-Requested-With, Content-Type, Accept, X-CSRF-Token, X-XSRF-TOKEN"

    http-response set-header Access-Control-Allow-Methods "GET, POST, PUT,
DELETE, OPTIONS"

    http-response set-header Access-Control-Allow-Credentials "true"

 

    http-response set-header X-Backend-Server-Name %s

 



---
This email has been checked for viruses by AVG.
http://www.avg.com

Reply via email to