aboutsummaryrefslogtreecommitdiffstats
path: root/roles/nginx/templates/apt-proxy.site.j2
blob: 8c19f4c661390f880032606de32e79b0bd0957cb (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
#
# /etc/nginx/sites-available/apt-proxy.site
# Nginx site: apt mirror proxy for LAN nodes
#

server {
    listen  80;
    listen  [::]:80;

    access_log  /var/log/nginx/apt.access.log;
    error_log   /var/log/nginx/apt.error.log;

    allow  {{ lan_network }};
    deny   all;

    location /debian/ {
        try_files  $uri @mirror;
    }
    location /debian-security/ {
        try_files  $uri @mirror;
    }

    location @mirror {
        proxy_pass           http://{{ apt_mirror }};
        proxy_next_upstream  error timeout http_404;
        proxy_set_header     Host            {{ apt_mirror }};
        proxy_set_header     X-Real-IP       $remote_addr;
        proxy_set_header     X-Forwarded-For $proxy_add_x_forwarded_for;

        add_header  X-Mirror-Upstream-Status        $upstream_status;
        add_header  X-Mirror-Upstream-Response-Time $upstream_response_time;
        add_header  X-Mirror-Status                 $upstream_cache_status;
    }
}