-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathapache2_renderd.conf
123 lines (99 loc) · 6.2 KB
/
apache2_renderd.conf
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
<VirtualHost *:80>
ServerName tiles.oklabflensburg.de
Protocols h2 http/1.1
RewriteEngine on
RewriteCond %{SERVER_NAME} =tiles.oklabflensburg.de
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
ServerName tiles.oklabflensburg.de
Protocols h2 http/1.1
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/tiles.oklabflensburg.de/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/tiles.oklabflensburg.de/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/tiles.oklabflensburg.de/chain.pem
ModTileTileDir /data/tiles
LoadTileConfigFile /etc/tirex/mod_tile_tirex.conf
ModTileEnableStats On
ModTileBulkMode Off
# Timeout before giving up for a tile to be rendered
ModTileRequestTimeout 3
# Timeout before giving up for a tile to be rendered that is otherwise missing
ModTileMissingRequestTimeout 10
ModTileMaxLoadOld 16
ModTileMaxLoadMissing 50
ModTileRenderdSocketName /run/tirex/modtile.sock
# Options controlling the cache proxy expiry headers. All values are in seconds.
#
# Caching is both important to reduce the load and bandwidth of the server, as
# well as reduce the load time for the user. The site loads fastest if tiles can be
# taken from the users browser cache and no round trip through the internet is needed.
# With minutely or hourly updates, however there is a trade-off between cacheability
# and freshness. As one can't predict the future, these are only heuristics, that
# need tuning.
# If there is a known update schedule such as only using weekly planet dumps to update the db,
# this can also be taken into account through the constant PLANET_INTERVAL in render_config.h
# but requires a recompile of mod_tile
# The values in this sample configuration are not the same as the defaults
# that apply if the config settings are left out. The defaults are more conservative
# and disable most of the heuristics.
# Caching is always a trade-off between being up to date and reducing server load or
# client side latency and bandwidth requirements. Under some conditions, like poor
# network conditions it might be more important to have good caching rather than the latest tiles.
# Therefor the following config options allow to set a special hostheader for which the caching
# behaviour is different to the normal heuristics
#
# The CacheExtended parameters overwrite all other caching parameters (including CacheDurationMax)
# for tiles being requested via the hostname CacheExtendedHostname
#
#ModTileCacheExtendedHostname cache.tile.openstreetmap.org
#ModTileCacheExtendedDuration 2592000
# Upper bound on the length a tile will be set cacheable, which takes
# precedence over other settings of cacheing
ModTileCacheDurationMax 604800
# Sets the time tiles can be cached for that are known to by outdated and have been
# sent to renderd to be rerendered. This should be set to a value corresponding
# roughly to how long it will take renderd to get through its queue. There is an additional
# fuzz factor on top of this to not have all tiles expire at the same time
ModTileCacheDurationDirty 900
# Specify the minimum time mod_tile will set the cache expiry to for fresh tiles. There
# is an additional fuzz factor of between 0 and 3 hours on top of this.
ModTileCacheDurationMinimum 10800
# Lower zoom levels are less likely to change noticeable, so these could be cached for longer
# without users noticing much.
# The heuristic offers three levels of zoom, Low, Medium and High, for which different minimum
# cacheing times can be specified.
#Specify the zoom level below which Medium starts and the time in seconds for which they can be cached
ModTileCacheDurationMediumZoom 13 86400
#Specify the zoom level below which Low starts and the time in seconds for which they can be cached
ModTileCacheDurationLowZoom 9 518400
# A further heuristic to determine cacheing times is when was the last time a tile has changed.
# If it hasn't changed for a while, it is less likely to change in the immediate future, so the
# tiles can be cached for longer.
# For example, if the factor is 0.20 and the tile hasn't changed in the last 5 days, it can be cached
# for up to one day without having to re-validate.
ModTileCacheLastModifiedFactor 0.20
# Tile Throttling
# Tile scrapers can often download large numbers of tiles and overly strain tileserver resources
# mod_tile therefore offers the ability to automatically throttle requests from ip addresses that have
# requested a lot of tiles.
# The mechanism uses a token bucket approach to shape traffic. I.e. there is an initial pool of n tiles
# per ip that can be requested arbitrarily fast. After that this pool gets filled up at a constant rate
# The algorithm has two metrics. One based on overall tiles served to an ip address and a second one based on
# the number of requests to renderd / tirex to render a new tile.
# Overall enable or disable tile throttling
ModTileEnableTileThrottling Off
# Specify if you want to use the connecting IP for throtteling, or use the X-Forwarded-For header to determin the
# 1 - use the client IP address, i.e. the first entry in the X-Forwarded-For list. This works through a cascade of proxies.
# However, as the X-Forwarded-For is written by the client this is open to manipulation and can be used to circumvent the throttling
# 2 - use the last specified IP in the X-Forwarded-For list. If you know all requests come through a reverse proxy
# that adds an X-Forwarded-For header, you can trust this IP to be the IP the reverse proxy saw for the request
ModTileEnableTileThrottlingXForward 0
# Parameters (poolsize in tiles and topup rate in tiles per second) for throttling tile serving.
ModTileThrottlingTiles 10000 1
# Parameters (poolsize in tiles and topup rate in tiles per second) for throttling render requests.
ModTileThrottlingRenders 128 0.2
# Use gzip compression for tiles
AddOutputFilterByType DEFLATE image/png
LogLevel debug
</VirtualHost>