CProxy is an extendable web proxy that can sit between your web application and web server. It acts as a simple passthrough that can be extended to manipulate the results of the data coming from the web server. The intended use is for caching and optmization.
CProxy was written with Golang. As such make sure you have Golang 1.8+ installed before building the application.
go get github.com/alash3al/go-fastcgi-client
go build
CProxy and its extensions are configurable via a JSON file, cproxy.json by default.
proxy_type
"proxy_type": "(http|fcgi)"
Set proxy type, either HTTP or FastCGI(fcgi).
listen
"listen": "(:<port>|<socket>)"
Set port or socket to listen on.
connect
"connect": "(<ip address>|<socket>)"
Address or socket of backend application.
extensions.path
"extensions": {
"path" : "<path>"
}
Path to extensions directory, 'ext' by default.
extensions.enabled
"extensions": {
"enabled" : ["<filename>"]
}
List of extensions to enable. Order matters and determines the order of event propigation.
extensions.config
"extensions": {
"config" : {
"<filename>": {
...
}
}
}
List of configuration for each extension. See the extension README for details on how to configure each extension.
TODO