Home » Blog

NGinx als Ubuntu Repo Mirror

<time datetime='2022-05-04 00:00:00 +0000 UTC'>May 4, 2022</time>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;Michael Bäcker (aka BakermanLP)

Wir verwenden den NGinx Webserver als Proxy für das Ubuntu Repository

NGinx linux Ubuntu

Installation

NGinx muss auf jeden Fall installiert sein, der Rechner, auf dem NGinx läuft, muss direkten Zugriff ins Internet haben.

Vorbereitung

Die folgende Datei muss angepasst werden. Wichtig ist hier die Zeile mit proxy_cache_path, die VOR dem server Eintrag steht.

Hier wird der Cache auf insgesamt 8g begrenzt. An den Zeitangaben (STATIC und inactive) müsste eventuell noch etwas gearbeitet werden.

/etc/nginx/sites-enabled/default

proxy_cache_path  /var/cache/nginx  levels=1:2    keys_zone=STATIC:10m inactive=24h  max_size=8g;

server {
    listen 80 default_server;
    server_name _;

    location /ubuntu {
        allow all;
        try_files $uri $uri/ @ubunturepo;
    }

    location @ubunturepo {
        resolver 8.8.8.8 valid=30s ipv6=off;
        set $target http://archive.ubuntu.com;
        proxy_pass $target;

        proxy_buffering        on;
        proxy_cache            STATIC;
        proxy_cache_valid      200  1d;
        proxy_cache_use_stale  error timeout invalid_header updating
                               http_500 http_502 http_503 http_504;
    }

}

Cache Directory vorbereiten

sudo mkdir /var/cache/nginx
sudo chown www-data:www-data /var/cache/nginx

NGinx neu starten

sudo systemctl restart nginx

Repo passend einbinden

In der Datei /etc/apt/sources.list die URLs der Repositories anpassen. Dann sollte das schon funktionieren.