3scale-labs / libvmod-3scale Goto Github PK
View Code? Open in Web Editor NEWThis project forked from varnish/libvmod-example
An example vmod for Varnish
Home Page: http://www.varnish-cache.org/project/modules
License: Other
This project forked from varnish/libvmod-example
An example vmod for Varnish
Home Page: http://www.varnish-cache.org/project/modules
License: Other
INSTALL: ======== The source tree is based on autotools to configure the building, and does also have the necessary bits in place to do functional unit tests using the varnishtest tool. Prerequisites: - Varnish source - version 3.0.3 or previous - libpcre3-dev - libtool Usage: ./autogen.sh ./configure VARNISHSRC=DIR [VMODDIR=DIR] VARNISHSRC is the directory of the Varnish source tree for which to compile your vmod. Both the VARNISHSRC and VARNISHSRC/include will be added to the include search paths for your module. Optionally you can also set the vmod install directory by adding VMODDIR=DIR (defaults to the pkg-config discovered directory from your Varnish installation). Make targets: make - builds the vmod make install - installs your vmod in VMODDIR if VMODDIR is not on the user space do 'sudo make install' instead On your VCL configuration: import threescale; set req.http.X-tmp = threescale.send_get_request_threaded("su1.3scale.net","80",req.url,""); set req.http.X-tmp = threescale.send_get_request("su1.3scale.net","80",req.url,"X-url-header: true;"); Integration modes: Use the appropriate VCL configuration file for the integration mode you would like to follow. vcl/default_3scale_simple.vcl - Varnish as a cache middleware between your API backend and the 3scale service. vcl/default_3scale_with_proxy.vcl - Varnish as an API proxy between API consumers and your API endpoints. In this setup, Varnish will be fully in charge of the integration with the 3scale service. Replace the default config file with one of the above: sudo mv /etc/varnish/default.vcl /etc/varnish/default.vcl.bkp sudo cp libmod-3scale/vcl/default_3scale_simple.vcl /etc/varnish/default.vcl sudo /etc/init.d/varnish restart It is always advisable to check the syslog for failures while testing tail -f /var/log/syslog | egrep 'varnish'
shouldn't this
https://github.com/3scale/libvmod-3scale/blob/master/vcl/default_3scale_with_proxy.vcl#L97
be using the variable defined in
https://github.com/3scale/libvmod-3scale/blob/master/vcl/default_3scale_with_proxy.vcl#L17
to use multiple service the doc is found in the oauth example vcl,
https://github.com/3scale/libvmod-3scale/blob/master/vcl/default_3scale_proxy_oauth.vcl#L45
people not using oauth will not think as this being a place to check, make a multiple_service example
I tried building this with Varnish 3.0.5 on Ubuntu 12.04 (even with the prerequisite of having the 3.0.3 source), and ran into nothing but errors. Can this be ported to work with Varnish 3.0.5, or even the more recent Varnish 4.0?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.