Solvedcouchdb proxy authentication documentation needs updating

Can't have proxy authentication working with next configuration:

authentication_handlers = {couch_httpd_auth, cookie_authentication_handler}, {couch_httpd_auth, proxy_authentication_handler}, {couch_httpd_auth, default_authentication_handler}

Expected Behavior

I have "testdb" with next "_security" document:

    "admins": {
        "names": [
    "members": {
        "names": [

I need to send any requests to "testdb" with header: "X-Auth-CouchDB-UserName: testuser" and get success responses:)

Current Behavior

but all I have is:

    "error": "unauthorized",
    "reason": "You are not authorized to access this db."

also sending GET request to "/_session" it responses with:

    "ok": true,
    "userCtx": {
        "name": null,
        "roles": []
    "info": {
        "authentication_db": "_users",
        "authentication_handlers": [

so no "proxy" in authentication_handlers

Also I should mention that I've tried both with require_valid_user=true and false

I was waiting so long for 2.1.0 expecting proxy_authentication to be fixed... I need it for my app...
I can't believe I have to get back to 1.6.1 again:(

Does anyone have the same issue?

I'm using express app as a middleware between client and couchdb.
As possible solution of this problem I'm thinking about generating couchdb cookie on the fly... but it seems overwhelmed to me. Proxy authentication should just work as it is in 1.6.1

Your Environment

  • Version used: CouchDB 2.1.0
  • Browser Name and version: Chrome 60
  • For sending requests I use: Postman 5.1.3
  • Operating System and version: Mac OS 10.12.5
15 Answers

✔️Accepted Answer

I had the same issue and then I moved authentication_handlers from [httpd] into [chttpd] and now proxy auth works for me. Perhaps the doco is wrong ( or it's a bug and it's looking in the wrong section )

I have a copy of my config in a gist here

Related Issues:

couchdb proxy authentication documentation needs updating
I had the same issue and then I moved authentication_handlers from [httpd] into [chttpd] and now pro...
ClickHouse DB::Exception: Too many parts (600). Merges are processing significantly slower than inserts
Each insert create a folder in /var/lib/clickhouse/.../table_name/ Inside that folder there are 2 fi...
ClickHouse Mac 10.15.4: Cannot find objcopy
@Renampme you can run the command below then find the file ~/ClickHouse/CMakeLists.txt then you can ...
ClickHouse Avro Support
+1 for Avro support Reopen #1342 for triage. ...
ClickHouse Any plans to support separation hot/cold data at the level of partitions?
@liuqian1989 it's kind of obvious possible feature but in practice ClickHouse works fast enough even...
gun TypeScript
Hello everyone I've published @types/gun. Hi what is your opinion about TypeScript TypeScript got a ...
delta Support schema evolution / schema overwrite in DeltaLake MERGE
@JassAbidi These are good scenarios At the first glance they seem to make sense However ...
ClickHouse Partition pruning not working as expected
It's fixed in #13497 And toDate(timestamp_ms / 1000) will also work because of #14513 . ...
aws cli Invalid Syntax Error when running any AWS command.
Leaving this here in case someone comes across this via google like me: I had the same issue with th...
passenger passenger-install-apache2-module fails with OpenSSL development headers not found on OSX El Capitan
After upgrading to El Capitan I'm unable to install the Apache module by running passenger-install-a...
aws cli aws s3api create-bucket throws error for us-east-2
For those of you looking to create a bucket via the CLI run this: aws s3api create-bucket --bucket d...
aws cli aws ssm put-parameter performs an HTTP GET request when the value param is an url
Just kill this 'feature' seriously Even apart from security concerns it certainly violates the princ...
terraform Ability to zip AWS Lambda function on the fly
For anyone else who finds this issue I found a good solution to this using the archive_file data sou...
terraform Feature request: Allow using lists and maps with conditionals
BTW I did find one workaround: I'm using join to turn the lists into strings to get past the type ch...
aws cli How to describe instances from all regions?
For people arriving here from Google here's one way to list all your instances across all regions wi...
terraform for_each attribute for creating multiple resources based on a map
Hi @mirogta! Thanks for this feature request and your detailed use-case This is definitely a request...
terraform "Warning: Value for undeclared variable"
I wrote about my objections to this feature in #19424 (comment) but that issue was locked ...
che event-stream-3.3.6.tgz not found in Yarnpkg.
this is due to : to...
generator jhipster Uncaught Error: Module build failed: Error: ENOENT: no such file or directory, scandir '**\node_modules\node-sass\vendor'
@lancurtis run npm rebuild node-sass Hi There was an error occured in my chrome on windows 10 x64 wh...
server Upgrade fails with - Column name "oc_flow_operations.entity" is "NotNull", but has empty string or null as default
I just got this error while upgrading from 17.0.10 to 18.0.10 Also with me the column entity did not...
terraform Allow aws_acm_certificate to lookup certificates in different region
Hi @kifbv! Currently the answer to doing anything in multiple regions is to instantiate the aws prov...
terraform Improving perception of changes when showing diff
Hi all! Sorry for the long silence here When I make a change to a large list of values (for example)...
aws cli Can't install / configure aws cli
Interesting It looks like it's failing to parse ~/.aws/config Can you try putting in fake values? He...
terraform Enable support for Google Cloud SQL Postgres
Haha I just figured out that the custom tier actually encodes the amount of CPU and memory The first...
aws cli Code Deploy - Unhandled exception - ZIP does not support timestamps before 1980
eb deploy gave me find -mtime +10950 -print -exec touch {} \; solved the problem. ...
aws cli PyYAML requires python-dev dependency
We have had some success here by running Hi It seems the latest release of awscli requires PyYAML as...
terraform How do i add tag variables to aws_autoscaling_group resource?
to convert regular tags map to asg tags map (sorry forgot who I stole this snippet from!) ...
terraform "Referencing Attributes from Resources with count = 0" change in Terraform 0.11 should be a warning!
@danhart The workaround is to use this ugly idiom: Finding all the places where this needs to be fix...
terraform terraform import command fails when there are several nested levels on the resource address
Actually I just found a workaround try: terraform import vpc-x...
terraform Inability to dynamically create resources via conditionals
I found a usable workaround to this issue It unblocked us so maybe it can work for others too ...
aws cli aws ecr get-login error: argument operation: Invalid choice
If you still want to use cli (maybe for automation) this is the full command according to the offici...
terraform Provider Removed Attributes Causing "data could not be decoded from the state: unsupported attribute" Error
You shouldn't need to edit the state manually though... Terraform Version Although its also being re...
server Thunderbird 60.x unable to use caldav/carddav
By disabling the newly introduced parameter network.cookie.same-site.enabled the problem can be solv...
azure cli az aks list - No module named '_cffi_backend'
Same here Update: python3 -m pip install cffi fixed it for me. Command Ran: az aks list Fixed issue ...
multipass macos: multipass 1.1.0 fails to start primary: Instance stopped while starting
Execute this in your terminal and get back to work: Give some reactions to this comment if it worked...
terraform Terraform ignores skip_final_snapshot so it's impossible to delete rds db instance
Looks like terraform destroy looks for the skip_final_snapshot option in the state file After I manu...
MEGAsync Debian/Ubuntu repository signing keys have expired
Seems they replaced the expired key after adding the new key it is working fine again (at least usin...
terraform Passing List as Template Variables
Try also jsonencode eg: And a template that looks like so... I want to render a template as below (e...
server Redirect loop login / Renewing session token failed
Hello I had a similar issue regarding the redirect mine was related to url overwrite protocol option...
vercel Now Dev
Indeed The now dev coming is coming soon! I'm finding myself having to deploy to test things special...
azure cli zsh autocompletion on OSX/macOS
I also just encountered this Every time I launch my terminal I get the following error: /Users/blake...
terraform Issue with depending on resource from different module
Hi all! Support for module outputs and variables inside depends_on has now been merged to master rea...
terraform Module-aware explicit dependencies
Hi all We've been laying some groundwork for this during the v0.12 release development cycle ...
terraform Terraform taint/untaint syntax inconsistent with 'plan', 'apply', 'state', etc.
This is a horrible UX pitfall Took me way too long to figure that if I get this: I need to do this: ...
terraform Bug: Terraform attempts to delete security groups before dependent EC2 instances
A combination of create before destroy and name_prefix (so the security groups don't have conflictin...
aws cli aws-cli fails to acquire session token before issuing sts:AssumeRole call
Alright so I can confirm that getting assume role can be tricky AWS CLI fails while attempting to is...
terraform darwin/arm64 build
For anyone who just wants to get on with being able to do their job.. Make sure your brew bin is in ...
boto3 How to Use botocore.response.StreamingBody as stdin PIPE
Not sure if this helps but I struggled with a similar issue streaming from boto3:s3 to flask output ...
passenger ubuntu 20.04
@davidfilip Make sure your cat /etc/apt/sources.list.d/passenger.list looks like this (with focal ...
terraform Terraform 0.12.1 trates "null" as literal value instead of using default variable
I'm having a similar issue but I think I'm using a null value more inline with what the documentatio...