ez-nginx-proxy
ez-nginx-proxy is a small wrapper around nginx. It requires nginx to already be installed. It is useful for development, when you want to very easily start a proxy that will send requests to various other development/production servers based on matching the routes.
ez-nginx-proxy takes a very simple Ruby configuration file. Here is an example configuration:
[
["/foo/bar", "localhost:1234"],
["/", "amazon.com"]
]
If you run this configuration like this:
$ ez-nginx-proxy -p 9000 my_config.rb
ez-nginx-proxy will create a temporary nginx configuration file that redirects localhost:9000/foo/bar
to
localhost:1234/foo/bar
and localhost:9000/blah
to amazon.com/blah
.
Usage
$ ez-nginx-proxy your_config.rb
See ez-nginx-proxy -h
for all the options.
Installation
Install nginx. You can do this using your favorite package manager:
$ sudo apt-get install nginx
$ brew install nginx
# or whatever
Now install ez-nginx-proxy
$ gem install ez-nginx-proxy
Note
You will probably see this error when ez-nginx-proxy starts:
nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
This is because nginx initially tries to log to /var/log/nginx/error.log
before it starts up. See this
nginx config page for more information.
TODO
- nginx regex matching
- pattern replacement?
- Hide the annoying 'permission denied' error