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.

Annonce

Navnenyt fra it-Danmark

Fellowmind Denmark A/S har pr. 1. september 2026 ansat Morten Jakobi som Business Unit Director. Han skal især beskæftige sig med at samle og udvikle Fellowminds forretning inden for Managed Services, Cloud Infrastructure & Security. Han kommer fra en stilling som Chief Executive Officer hos Inventio.it A/S. Han har tidligere beskæftiget sig med Ledelse og udvikling af Managed Services, serviceforretninger og transformation i Norden og Benelux. Nyt job

Morten Jakobi

Fellowmind Denmark A/S

Stine Willemoes Kondrup, Senior Project Manager hos Ascom, har pr. 22. juni 2026 fuldført uddannelsen Master i it, linjen i organisation på Aalborg Universitet via It-vest-samarbejdet. Færdiggjort uddannelse
Norriq Danmark A/S har pr. 2. marts 2026 ansat Kristoffer Hyltoft Overlund som Consultant ERP. Han skal især beskæftige sig med understøtte vores kunders forretning og vækstambitioner. Han kommer fra en stilling som Salgskonsulent hos D´Wine. Han er uddannet hos Aalborg Universitet hvor hvor han har taget en cand.it, IT-ledelse. Nyt job

Kristoffer Hyltoft Overlund

Norriq Danmark A/S

Norriq Danmark A/S har pr. 1. juni 2026 ansat Ida Laursen som Junior Consultant. Hun skal især beskæftige sig med at understøtte vores konsulenter med praktiske og analytiske opgaver på diverse kundeprojekter. Hun kommer fra en stilling som Webassistent hos PWT Group A/S. Hun er uddannet bachelor i International Virksomhedskommunikation og er i gang med en kandidat i IT-ledelse. Hun har tidligere beskæftiget sig med kommunikation og webindhold. Nyt job

Ida Laursen

Norriq Danmark A/S