incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Glenn Rempe <gl...@rempe.us>
Subject Re: JS Test Errors with Apache virtual host + reverse proxy + couchdb
Date Wed, 21 Jan 2009 21:50:56 GMT
Update : I was able to fix all of the breaking tests running behind an  
Apache proxy by adding the following to disable keep alives.

KeepAlive Off

see : http://httpd.apache.org/docs/2.0/mod/core.html#keepalive

I updated the wiki:
http://wiki.apache.org/couchdb/Apache_As_a_Reverse_Proxy

This fixed the following tests for me:

show_documents
etags_head
attachments

The only failing test when running behind a proxy remaining now is the  
'config' test which still has a problem with assuming a  
host.server.domain:port form of URL.

Cheers,

Glenn


On Jan 21, 2009, at 1:17 PM, Glenn Rempe wrote:

> Thanks all.
>
> After adjusting my Apache proxy config (thanks) while *most* tests  
> in the futon test suite pass now there are still some which fail.
>
> On quick examination of the 'config' test this appears to be due not  
> to the fact that there is a problem with couchdb running behind the  
> proxy, but instead some tests which make assumptions that CouchDB is  
> running on a URL that has a port specifically defined (e.g. http://hostname.domain 
> :port/) which in the case of a proxy setup may not be the case where  
> port 80 is implicit.
>
> You can see the line of the config test here :
>
> http://github.com/halorgium/couchdb/blob/89c232dcdfa2b4a476f69c01b574f51b66e4f185/share/www/script/couch_tests.js#L2700
>
> You can try the other failing tests here (for the moment):
>
> http://couchdb.rempe.org/_utils/couch_tests.html?script/couch_tests.js
>
> Here are the four tests I see failing now (FYI, this is edge CouchDB  
> built from the repo):
>
> config : Assertion failed: config.httpd.port == port
>
> show_documents :
> 	• Assertion failed: "Accept" == xhr.getResponseHeader("Vary")
> 	• Assertion failed: xhr.status == 304
> 	• Assertion failed: xhr.status == 304
> 	• Assertion failed: xhr.status == 304
>
> etags_head :
> 	• Assertion failed: xhr.status == 201
> 	• Assertion failed: xhr.status == 304
> 	• Assertion failed: xhr.status == 200
>
> attachments :
> Assertion failed: xhr.getResponseHeader("Etag") == save_response.rev
>
> Cheers,
>
> Glenn
>
> On Jan 21, 2009, at 12:47 PM, Jan Lehnardt wrote:
>
>> Thank you Patrick!
>>
>> Cheers
>> Jan
>> --
>> On 21 Jan 2009, at 21:05, Patrick Antivackis wrote:
>>
>>> Hi Jan,
>>> You are welcome
>>> I updated the wiki to tell minimum configure options and minimum  
>>> apache
>>> version
>>>
>>>
>>>
>>> 2009/1/21 Jan Lehnardt <jan@apache.org>
>>>
>>>> Hi Patrick,
>>>>
>>>> Thanks! I added the snippet to the wiki. If anyone
>>>> feels like adding some more explanation, that'd be
>>>> nice :)
>>>>
>>>> http://wiki.apache.org/couchdb/Apache_As_a_Reverse_Proxy#preview
>>>>
>>>> Cheers
>>>> Jan
>>>> --
>>>>
>>>> On 21 Jan 2009, at 09:14, Patrick Antivackis wrote:
>>>>
>>>> Here is my config.All futon's tests are ok :
>>>>>
>>>>> <VirtualHost *:80>
>>>>> ServerAdmin webmaster@dummy-host.example.com
>>>>> DocumentRoot "/opt/websites/web/www/dummy"
>>>>> ServerName couchdb.localhost
>>>>> AllowEncodedSlashes On
>>>>> ProxyRequests Off
>>>>> <Proxy *>
>>>>>   Order deny,allow
>>>>>   Deny from all
>>>>>   Allow from 88.164.1.48
>>>>>   Allow from 127.0.0.1
>>>>> </Proxy>
>>>>> ProxyPass / http://localhost:5984/ nocanon
>>>>> ProxyPassReverse / http://localhost:5984/
>>>>> ErrorLog "logs/couchdb.localhost-error_log"
>>>>> CustomLog "logs/couchdb.localhost-access_log" common
>>>>> </VirtualHost>
>>>>>
>>>>> Hope it helps
>>>>>
>>>>> 2009/1/21 Jason Huggins <jason@jrandolph.com>
>>>>>
>>>>> On Tue, Jan 20, 2009 at 6:31 PM, Glenn Rempe wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I am experimenting with CouchDB and wanted to setup a virtual
 
>>>>>>> host and
>>>>>>> reverse proxy in my apache server that would expose couchdb to
 
>>>>>>> the net,
>>>>>>>
>>>>>> and
>>>>>>
>>>>>>> allow me to easily add apache basic auth on top (with the hope
 
>>>>>>> that some
>>>>>>> couchdb ruby clients support basic auth).
>>>>>>>
>>>>>>> However, when I set this up I discovered that many of the  
>>>>>>> futon JS tests
>>>>>>> fail when run on the proxied url, but all pass when hitting 

>>>>>>> the same
>>>>>>>
>>>>>> exact
>>>>>>
>>>>>>> couchdb install via a direct url.
>>>>>>>
>>>>>>
>>>>>> I had this problem, too. I had to add "AllowEncodedSlashes On"  
>>>>>> to my
>>>>>> virtual host config to get proxing working correctly.
>>>>>>
>>>>>>
>>>>>>> I did not see anything about this in the bug Jira.  On initial
>>>>>>>
>>>>>> examination
>>>>>>
>>>>>>> this appears to be related to url escaping in the js tests.
>>>>>>>
>>>>>>
>>>>>> Yup. Sorry, though, for not documenting/blogging/sharing my fix 

>>>>>> before.
>>>>>> :-/
>>>>>>
>>>>>> When I get the chance, I'll publish a slimmed downed and working
>>>>>> version of my vhost file that fixes this bug, but until then... 

>>>>>> try
>>>>>> added "AllowEncodedSlashes On" right inside your VirtualHost
>>>>>> declaration.
>>>>>>
>>>>>> cheers,
>>>>>> hugs
>>>>>>
>>>>>>
>>>>
>>
>
> --
> Glenn Rempe
> glenn@rempe.us
>
>

--
Glenn Rempe
glenn@rempe.us



Mime
View raw message