Apache som proxy-server

Apache kan bruges til mange ting – alt fra en enkel server, som sender
statiske websider, til avanceret filserver, som del 5 i denne serie
viste. I denne artikel vil du se, hvordan du kan bruge Apache som en
proxy-server.

Artikel top billede

(Foto: Computerworld)

Af Kenneth Geisshirt, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

Som en del af Apache findes der to familier eller typer af proxy-servere. Den første type benævnes forward proxy. Det er den mest almindelige type proxy. I stedet for din web-browser (eller klient) sender forespørgsler direkte til en web-server, sendes de til proxy-serveren, som så sender dem videre til web-serveren.

Svarene på forespørgslerne sendes først til proxy-serveren, som så sender dem videre tilbage til klienterne. Du kender måske forward proxy, idet denne type ofte bruges i større virksomheder til at styre medarbejdernes adgang til internettet. Eftersom det er den mest almindelige type, dropper man ofte forward og taler kun om proxy-serveren. Det er også denne type proxy, som du kan sætte op i din web-browser.

Den anden type omtales som reverse proxy. Din web-browser ser en reverse proxy, som om det er den rigtige web-server, og du skal ikke sætte noget op for at bruge denne type. Men proxy-serveren sender forespørgsler videre til web-serveren. Eller som det ofte er tilfældet – til en samling web-servere. Men klienterne ved ikke, om der er en eller 1000 web-servere, da de kun ser proxy-serveren. Der er mange fordele ved reverse proxy, for eksempel kan du filtrere forespørgslerne, inden de når ind til web-serveren.

Modulerne

Apache har et generelt proxy-modul, som hedder mod_proxy. Ud over det generelle modul findes der moduler for en lang række protokoller, herunder http og ftp. For hver protokol, du ønsker, Apache skal være proxy for, skal du slå passende modulerne til.
Heldigvis følger proxy-modulerne automatisk med Apache, så du behøver ikke at installere noget, når du først har fået installeret Apache. En anden familie moduler er mod_cache. Disse moduler bruges ofte sammen med proxy-modulerne.

Modulerne bruges til at cache svarene på forespørgsler. Det er muligt at bruge harddisk (mod_disk_cache) eller hukommelse (mod_mem_cache) til cache. Naturligvis er hukommelse hurtigere, men du har meget mindre af den. Også mod_cache-familien følger umiddelbart med Apache, og du skal blot slå modulerne til ved hjælp af a2enmod-kommandoen.

Forward proxy med cache

En forward proxy i kombination med caching kan være yderst nyttig i situationer, hvor mange brugere ønsker at se de samme web-sider. Ved at cache siderne kan du spare store mængder internet-trafik, og brugerne vil opleve internetforbindelsen meget bedre, end den i virkeligheden er. Som it-ansvarlig kan du med andre ord både spare penge og stå på god fod med dine brugere. Det er ikke ualmindeligt, at visse web-sites er meget populære, for eksempel er http://dr.dk/ og http://eb.dk/ utroligt populære i Danmark – mange af dine brugere vil gå ind på dem i løbet af dagen.

Inden du fortsætter med proxy-serveren, skal du gøre klar til en disk-baseret cache. Alle direktiverne begynder med Cache. Udover, at modulet skal slås til, skal det aktiveres i Apaches konfigurationsfil. Det gør du med Cache­Enable-direktivet. Direktivet bruger to værdier til aktiveringen. Den første værdi angiver, om der er tale om en cache-baseret på hukommelse (værdien mem) eller harddisk (værdien disk). Den anden værdi angiver, hvilke url’er som skal caches.

Du kan fange alle url’er ved at bruge værdien / (divisionstegn). Du kan også nøjes med at cache for http://www.altomdata.dk/ ved at skrive denne url. Du skal angive, hvor modulet skal gemme cachen ved hjælp af direktivet CacheRoot med stien på en folder som værdi. Endvidere kan du angive, hvor dyb cachen skal være (antal underfoldere) med direktivet CacheDirLevels, og med direktivet CacheDirLength kan du angive, hvor lange navnene på underfolderne skal være.

De sidste to direktiver er ikke nødvendige at angive, da der er gode default-værdier. Med direktiverne CacheMinFileSize og CacheMaxFileSize kan du angive hen-holdsvis minimum- og maksimum-størrelse på filer, som skal caches. I boksen »Caching« finder du et eksempel på, hvordan du kan sætte en disk-baseret cache op.

Læses lige nu

    Navnenyt fra it-Danmark

    Guardsix har pr. 1. maj 2026 ansat Louise Sara Baunsgaard som Global Marketing & Communications Director. Hun skal især beskæftige sig med at positionere virksomheden som et europæisk alternativ i en tid, hvor cybersikkerhed i høj grad handler om geopolitik. Hun kommer fra en stilling som Co-Founder og CMO hos Get BOB. Hun er uddannet Ba.ling.merc fra CBS og har desuden en Mini MBA i marketing. Hun har tidligere beskæftiget sig med marketing og kommunikation i ledende nordiske roller hos bl.a. Meta og Nets. Nyt job
    Netip A/S har pr. 1. februar 2026 ansat Henrik Mejnhardt Nielsen som ny kollega til Product Sales Teamet i Herlev. Han kommer fra en stilling som Business Development Manager hos Arrow. Nyt job
    Mohamed El Haddaoui, er pr. 7. april 2026 ansat hos Dafolo A/S som IT-systemudvikler. Han skal især beskæftige sig med udviklingsopgaver relateret til Brugerklubben SBSYS. Han er nyuddannet datamatiker og har erfaring med udvikling af REST API'er og integreret databaser. Nyt job

    Mohamed El Haddaoui

    Dafolo A/S

    Renewtech ApS har pr. 15. marts 2026 ansat Per Forberg som Account Manager for Sustainable Relations. Han skal især beskæftige sig med etablere nye partnerskaber med henblik på ITAD og sourcing kontrakter med hostingvirksomheder og strategiske slutbrugere. Han kommer fra en stilling som Nordic Key Account Manager hos Tesa. Han er uddannet hos Lund University og har en MBA i Management. Han har tidligere beskæftiget sig med at styrke salgsaktiviteter og partnerskaber på tværs af nordiske markeder. Nyt job

    Per Forberg

    Renewtech ApS