How setup proxy to glue couchDB to Rails?

Hello nginx people,

Is it possible to use nginx to “glue” 2 types of servers into one?

I have a rails server running here:
http://localhost:3000/rails/

And I have a couchDB server running here:
http://localhost:5984/

I’d like to configure nginx so that it listens on 8080

I want any request directed at:
http://localhost:8080/rails/
to be forwarded to
http://localhost:3000/rails/
And I want all other requests to be forwarded to
http://localhost:5984/

Have any of you done something like this?

Is nginx well suited for this or should I be learning about a true
proxy like squid or varnish?

Hi Audrey,

On 05.04.2010, at 7:07, Audrey L. [email protected] wrote:

I’d like to configure nginx so that it listens on 8080

I want any request directed at:
http://localhost:8080/rails/
to be forwarded to
http://localhost:3000/rails/
And I want all other requests to be forwarded to
http://localhost:5984/

Have any of you done something like this?
Yes. A lot and every day :wink:

You should check this:
http://wiki.nginx.org/NginxHttpProxyModule
google: proxy_pass site:nginx.org

Is nginx well suited for this or should I be learning about a true
proxy like squid or varnish?
Yes nginx is a fully powered reverse proxy. IMHO the best available
today.

Peter.

On Sun, 2010-04-04 at 20:07 -0700, Audrey L. wrote:

Hello nginx people,

Is it possible to use nginx to “glue” 2 types of servers into one?

You mean “proxy”. Yes, Nginx is a proxy.

to be forwarded to
http://localhost:3000/rails/
And I want all other requests to be forwarded to
http://localhost:5984/

server {
server_name localhost;
listen 8080;

location /rails {
proxy_pass http://localhost:3000;
include proxy.conf; # other proxy settings - see docs
}

location / {
proxy_pass http://localhost:5984;
include proxy.conf; # other proxy settings - see docs
}
}

I think I’d not want to send anything that isn’t under /rails to
CouchDB, but that’s what you asked for.

Have any of you done something like this?

Probably most anyone who’s read the documentation on proxying:

http://wiki.nginx.org/NginxHttpProxyModule

Is nginx well suited for this or should I be learning about a true
proxy like squid or varnish?

Nginx is a true proxy. Squid and Varnish are caching proxies, Nginx
has some caching capabilities as well, although not as sophisticated
(nor as complicated).

Regards,
Cliff

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs