Thanks Robert, but in my testing, I found that you need to use cookie based routing, i.e. sticky sessions, in order for the the session to persist when you are using haproxy. This is even when you set the secret to be the same on all nodes.
My working solution with cookie-based routing can be found at https://github.com/redgeoff/couchdb-docker/blob/production-multi-node/README.md#run-cluster-via-docker-compose-wip On Sun, May 14, 2017, 09:50 Robert Samuel Newson <[email protected]> wrote: > A session cookie acquired on one node is recognised by any other node if > you follow the instructions below (these are in the docs and _cluster_setup > does this too). > > You need to ensure each node has the same secret in couch_httpd_auth. It's > randomized at startup if not set, so set it to something (large, random) > before starting couchdb. > > For _admin_ users, you also need to ensure you set the same hashed version > in the .init file as the salt value is part of the cookie state (so that > cookies are invalidated when passwords change). > > Basically, anything in the .ini file needs synchronising between the nodes > externally. By hand, but more likely using chef / puppet, etc. > > Cloudant, for example, generates default.ini from a template which sets a > cluster-wide couch_httpd_auth secret and the [admins] section. > > B. > > > On 14 May 2017, at 02:43, Geoffrey Cox <[email protected]> wrote: > > > > Hi! > > > > Anyone have any ideas on this? > http://stackoverflow.com/q/43958527/2831606 > > > > Thanks! > > > > Geoff > >
