diff options
Diffstat (limited to 'roles/nginx/templates/nodes.site.j2')
-rw-r--r-- | roles/nginx/templates/nodes.site.j2 | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/roles/nginx/templates/nodes.site.j2 b/roles/nginx/templates/nodes.site.j2 new file mode 100644 index 0000000..df6c369 --- /dev/null +++ b/roles/nginx/templates/nodes.site.j2 @@ -0,0 +1,48 @@ +# +# /etc/nginx/sites-available/nodes.site +# Nginx site: +# * APT mirror proxy for LAN nodes +# * Serve extra files and configurations to nodes +# + +server { + listen 80; + listen [::]:80; + + access_log /var/log/nginx/nodes.access.log; + error_log /var/log/nginx/nodes.error.log; + + allow {{ lan_network }}; + deny all; + + root /srv/www; + index index.html index.htm; + + location /nodes { + # Allow directory listing output + autoindex on; + # Round file sizes kB, MB, GB + autoindex_exact_size off; + # Show times in local time zone + autoindex_localtime on; + } + + 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; + } +} |