1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
Vmod-basicauth README
See the end of file for copying conditions.
* Overview
This module implements basic HTTP authentication against the password file
created with the htpasswd(1) utility. The following password hashes are
supported: Apache MD5, crypt(3), SHA1, and plaintext.
The module has been tested with Varnish versions 6.0.0 to 7.1.0.
* Example
import basicauth;
sub vcl_recv {
if (!basicauth.match("/var/www/.htpasswd",
req.http.Authorization)) {
error 401 "Authentication required";
}
}
* Installation
In order to compile the package you need to have the varnishd and
varnishapi packages installed.
Supposing that condition is met, run:
./configure
It should be able to automatically find the necessary components. In case
it doesn't, tweak the configuration variables as necessary. The most
important one is PKG_CONFIG_PATH, which contains a path (in the UNIX sense)
where the .pc files are located. It should contain a directory where the
'varnishapi.pc' file lives. Example usage:
./configure PKG_CONFIG_PATH=/usr/local/varnish/lib/pkgconfig:$PKG_CONFIG_PATH
Please read the file INSTALL for a detailed discussion of available variables
and command line options.
Once configured, do
make
This will build the module. After this step you can optionally run
'make test' to test the package.
Finally, run the following command as root:
make install
* Documentation
The manual page vmod_basicauth(3) will be available after successful
install. To read it without installing the module, run
'man src/vmod_basicauth.3'.
* Bug reporting
Send bug reports and suggestions to <gray@gnu.org>
* Copyright information:
Copyright (C) 2013-2022 Sergey Poznyakoff
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
copyright notice and this permission notice are preserved,
thus giving the recipient permission to redistribute in turn.
Permission is granted to distribute modified versions
of this document, or of portions of it,
under the above conditions, provided also that they
carry prominent notices stating who last changed them.
Local Variables:
mode: outline
paragraph-separate: "[ ]*$"
version-control: never
End:
|