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

    Forsvarets Efterretningstjeneste

    IT-direktør til Forsvarets Efterretningstjeneste

    Københavnsområdet

    PensionDanmark

    Projektleder

    Københavnsområdet

    Region Midtjylland

    Procesmanager til Digitalisering og It

    Midtjylland

    TD SYNNEX Denmark ApS

    Sales Coordinator

    Københavnsområdet

    Navnenyt fra it-Danmark

    Tinne Schjoldan Gyllich, Director, CX & Services (Customer Adoption) hos TDC Erhverv, er pr. 1. juni 2026 forfremmet til Senior Director, Head of Partnerships. Tinne skal fremover især beskæftige sig med at drive strategiske partnerskaber, styrke økosystemet og skabe vækst gennem partnerbaseret omsætning. Forfremmelse
    Pinksky ApS har pr. 1. maj 2026 ansat Dan Toft, 29 år,  som Rådgivende konsulent, Partner. Han skal især beskæftige sig med digitalisering med Microsoftplatformen. Han kommer fra en stilling som Microsoft 365 & SharePoint Specialist hos Evobis ApS. Han er uddannet datamatiker. Han har tidligere beskæftiget sig med Microsoft 365 og SharePoint udvikling. Nyt job

    Dan Toft

    Pinksky ApS

    Netip A/S har pr. 1. maj 2026 ansat Michael Schou som Operations Manager ved netIP Aalborg og Aarhus. Han kommer fra en stilling som Senior Director - Head of IT hos BDO. Han har tidligere beskæftiget sig med flere områder indenfor IT-branchen, hvor han bla. også har drevet sin egen IT-virksomhed. Nyt job

    Michael Schou

    Netip A/S

    Freja Egelund Grønnemose, junior automation developer hos WITRICS A/S, har pr. 16. juni 2026 fuldført uddannelsen diplomingeniør i softwareteknologi (B.Eng Software Technology) på Danmarks Tekniske Universitet - DTU. Færdiggjort uddannelse