Ben Moss created GEODE-2212:
-------------------------------

             Summary: gfsh http authentication fails when routed through a proxy
                 Key: GEODE-2212
                 URL: https://issues.apache.org/jira/browse/GEODE-2212
             Project: Geode
          Issue Type: Bug
          Components: core, gfsh
            Reporter: Ben Moss
            Assignee: Mark Bretl


We encountered a bug with Geode that only reveals itself when routing requests 
through the a proxy that modifies HTTP headers to standardize them in title 
case format.

gfsh uses the security-username and security-password headers to pass 
authentication credentials to the locator, but what we saw is that when these 
go through our proxy and are turned into Security-Username / Security-Password, 
we can no longer authenticate.

This request emulates what gfsh executes when you run "list members" with an 
HTTP connection:

```
curl http://$LOCATOR_IP/gemfire/v1/members -H "security-username: admin" -H 
"security-password: admin"
```

This request emulates what gets sent when going through our proxy. This should 
be the same but will fail:

```
curl http://$LOCATOR_IP/gemfire/v1/members -H "Security-Username: admin" -H 
"Security-Password: admin"
```

We narrowed the bug down to these lines 
(https://github.com/apache/geode/blob/bd229d7681376a11ba2e37747e48844ffe65584c/geode-core/src/main/java/org/apache/geode/management/internal/web/controllers/support/LoginHandlerInterceptor.java#L99-L111).
 The HTTP spec specifies that headers should treated as case-insensitive but it 
looks like GemFire is only capable of working with lower-case versions of these 
headers.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to