summaryrefslogtreecommitdiffstats
path: root/testing/yaws/yaws.conf.alpine
blob: c3a6d2832caedb57bcfc55ccf96bb0ed035d15db (plain)
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150

# conf for yaws

# First we have a set of globals that apply to all virtual servers

# This is the directory where all logfiles for
# all virtual servers will be written.
logdir = /var/log/yaws

# These are the paths to directories where additional
# beam code can be placed. The daemon will add these
# directories to its search path.
ebin_dir = /usr/lib/yaws/examples/ebin
ebin_dir = /var/yaws/ebin

# This is a directory where application specific .hrl
# files can be placed. Application-specific .yaws code can
# then include these .hrl files.
include_dir = /usr/lib/yaws/examples/include

# Set this to an integer value to control
# max number of connections from clients into the server.
max_connections = nolimit

# Normally, yaws does not restrict the number of times a connection is
# kept alive using keepalive. Setting this parameter to an integer X
# will ensure that connections are closed once they have been used X times.
# This can be a useful to guard against long running connections
# collecting too much garbage in the Erlang VM.
keepalive_maxuses = nolimit

# Override the garbage collection option parameters for processes
# that handle new connections. Useful for systems expecting long-lived
# connections that handle a lot of data. The default value is Erlang's
# default. Valid options are {fullsweep_after, X} and/or {min_heap_size, Y} where
# X and Y are integers. See Erlang's erlang:spawn_opt/4 function for more
# details. The value type is a quoted string containing an Erlang proplist or
# the atom undefined.
process_options = "[]"

# Set the size of the cached acceptor process pool. The value must be an
# integer greater than or equal to 0. The default pool size is 8. Setting
# the pool size to 0 effectively disables the pool.
#acceptor_pool_size = 8

# This is a debug variable, possible values are http | traffic | false
# It is also possible to set the trace (possibly to the tty) while
# invoking yaws from the shell as in
# yaws -i -T -x (see man yaws).
trace = false

# Enable this if we want to use the old OTP ssl implementation
# OTP R13B03 is known to work with this flag set to false (default).
use_old_ssl = false

# It is possible to have yaws start additional application-specific code at
# startup. Set runmod to the name of the module you want yaws to start. It
# assumes the module has an exported function start/0. To have multiple
# runmods just add more "runmod = xyz" lines.
#
# runmod = mymodule

# By default yaws will copy the erlang error_log and
# append it to a wrap log called report.log (in the logdir).
# This feature can be turned off. This would typically
# be the case when yaws runs within another larger app.
copy_error_log = true

# Logs are wrap logs
log_wrap_size = 1000000

# Possibly resolve all hostnames in logfiles so webalizer
# can produce the nice geography piechart
log_resolve_hostname = false

# Fail completely or not if yaws fails to bind a listen socket.
fail_on_bind_err = true

# If HTTP auth is used, it is possible to have a specific
# auth log. As of release 1.90 the global auth_log is
# deprecated and ignored. Now, this variable must be set in
# server part
#auth_log = true

# When we're running multiple yaws systems on the same
# host, we need to give each yaws system an individual
# name. Yaws will write a number of runtime files under
# ${HOME}/.yaws/yaws/${id}
# The default value is "default"
# If we're not planning to run multiple webservers on the
# same host it's much better to leave this value unset since
# then all the ctl function (--stop et.el) work without having
# to supply the id.
#
# id = myname

# Earlier versions of Yaws picked the first virtual host
# in a list of hosts with the same IP/PORT when the Host:
# header doesn't match any name on any Host.
# This is often nice in testing environments but not
# acceptable in real-world hosting scenarios;
# think http://porn.bigcompany.com
pick_first_virthost_on_nomatch = true

# If the HTTP client session is to be kept alive, wait this many
# milliseconds for a new request before timing out the connection. Note
# that infinity is a valid value but it's not recommended.
keepalive_timeout = 30000

# Now, a set of virtual servers.
# The examples below first show two virthosted servers on the same IP (0.0.0.0)
# in this case, but an explicit IP can be given as well.

#<server localhost>
#        port = 80
#        listen = 0.0.0.0
#        docroot = /var/yaws/www
#        auth_log = true
#        appmods = <cgi-bin, yaws_appmod_cgi>
#</server>

<server localhost>
        port = 80
        listen = 0.0.0.0
        docroot = /tmp
        dir_listings = true
        auth_log = true
        statistics = true
        <auth>
                realm = foobar
                dir = /
                user = foo:bar
                user = baz:bar
        </auth>
</server>

# Now an SSL server

<server localhost>
        port = 443
        docroot = /tmp
        listen = 0.0.0.0
        dir_listings = true
        auth_log = true
        <ssl>
                keyfile = /etc/yaws/yaws-key.pem
                certfile = /etc/yaws/yaws-cert.pem
                depth = 0
        </ssl>
</server>