kenshaw / libvmod-dns Goto Github PK
View Code? Open in Web Editor NEWVarnish vmod DNS functions
License: Other
Varnish vmod DNS functions
License: Other
Trying to compile gives an error when running make:
*** No rule to make target @VMODTOOL@', needed by
vcc_if.c'. Stop.
I have a centos 6.5 machine.
Installed varnish via yum and have these RPM:
varnish-libs-3.0.7-1.el6.x86_64
varnish-libs-devel-3.0.7-1.el6.x86_64
varnish-release-3.0-1.el6.noarch
varnish-3.0.7-1.el6.x86_64
Could you help please?
Regards,
Bruno Morais
Hello,
Could you please give me some tips to install you great mod on my system Varnsih installation.
I've download the mod and uncompress it
I start ./configure with parameters but it doesn't work.
I'm not sure my system can use .ac files
Thank you.
Dimitri
Hi,
I'm planning to use this vmod for the intended purpose (bot validation) on our Varnish 4 servers, however it seems like there is no caching of results involved. Each request would trigger DNS lookups.
Are there any performance issues we should consider? Would it lock up client threads while waiting for DNS results. Maybe we should run a local DNS server on the same host or something like that to delegate caching?
Any ideas?
Thanks.
I have installed this VMOD on varnish 3.0.4/3.0.3 running on Ubuntu 12.04 as well as 10.04 and its not working. If I try changing my user agent to googlebot the connection is reset rather than forbidden.
I tried fetching using real googlebot user agent from my webmaster account and it did the same. The issue seems to be with set req.http.X-Crawler-DNS-Reverse = dns.rresolve(req.http.X-Forwarded-For);
If I remove the reverse option, I get a 403 even when its real googlebot.
I have this in my default.vcl
if (req.http.user-agent ~ "(?i)(googlebot|bingbot|msnbot|slurp|teoma)") {
# / Do a reverse lookup on the client.ip (X-Forwarded-For) and check that its in the allowed domains
set req.http.X-Crawler-DNS-Reverse = dns.rresolve(req.http.X-Forwarded-For);
# / check that the RDNS points to an allowed domain -- 403 error if it doesn't
if (req.http.X-Crawler-DNS-Reverse !~ "(?i).(googlebot.com|search.msn.com|crawl.yahoo.net|ask.com)$") {
error 403 "Forbidden";
}
/# do a forward lookup on the DNS
set req.http.X-Crawler-DNS-Forward = dns.resolve(req.http.X-Crawler-DNS-Reverse);
# / if the client.ip/X-Forwarded-For doesn't match, then the user-agent is fake
if (req.http.X-Crawler-DNS-Forward != req.http.X-Forwarded-For) {
error 403 "Forbidden";
}}```
The errors:-
Google error:- with dns.rresolve(req.http.X-Forwarded-For);
`Fetch as Google
This is how Googlebot fetched the page.
URL: xxxxxxxx
Date: Wednesday, June 19, 2013 at 11:46:23 AM PDT
Googlebot Type: Web
Download Time (in milliseconds):`
Google error:- without dns.rresolve(req.http.X-Forwarded-For);
`Fetch as Google
This is how Googlebot fetched the page.
URL: xxxxxxx
Date: Wednesday, June 19, 2013 at 11:50:18 AM PDT
Googlebot Type: Web
Download Time (in milliseconds): 349
HTTP/1.1 403 Forbidden`
Contents of my /usr/lib/varnish/vmods
libvmod_dns.la
libvmod_dns.so
libvmod_std.so
libvmod_shield.a
libvmod_shield.la
libvmod_shield.so
libvmod_throttle.a
libvmod_throttle.la
libvmod_throttle.so
Should there be a libvmod_dns.a? Both throttle and shield are working and were compiled the same way
Why?
I'll update Varnish, but I don't want to do that now. ๐
Hi
is there any way to support Varnish 4.1?
my varnish is 4.1x , aclocal: couldn't open directory `m4 error when I run the autogen.sh
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.