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

    Annonceindlæg fra Lenovo

    Hvorfor lykkes nogle organisationer med AI – mens andre sidder fast i pilotfasen?

    AI rykker fra teknologiagendaen til den strategiske dagsorden. Men for mange er vejen fra ambition til målbar værdi længere end forventet.

    Navnenyt fra it-Danmark

    Elbek & Vejrup A/S har pr. 1. juni 2026 ansat Mikkel Bernt Buchvardt som AI Architect & Product Manager. Han skal især beskæftige sig med udviklingen af AI-Services og AI-Agenter i og omkring Business Central. Han kommer fra en stilling som Lead Data & Analytics hos IBM. Han er uddannet MSc. i softwareudvikling fra ITU. Han har tidligere beskæftiget sig med Data og BI hos KMD og Seges Innovation. Nyt job

    Mikkel Bernt Buchvardt

    Elbek & Vejrup A/S

    Netip A/S har pr. 1. maj 2026 ansat Ida Hyllested Friis som Key Account Manager ved netIP's kontor i Thisted. Hun kommer fra en stilling som Key Account Manager hos Københavns erhvervshus. Nyt job
    IFS Danmark A/S har pr. 1. april 2026 ansat Sarah Warm som Account Executive, Energy & Utilities. Hun skal især beskæftige sig med salg af IFS' løsninger til nye kunder inden for energibranchen. Hun kommer fra en stilling som Account Executive hos Synergy Investment Group i Holland. Hun er uddannet BSc Economics and Business Economics, Neuroscience & MSc Business Administration Digital Business. Hun har tidligere beskæftiget sig med Solution Sales & Cybersecurity. Nyt job

    Sarah Warm

    IFS Danmark A/S

    netIP har pr. 1. juni 2026 ansat Heidi Winther som Supportkonsulent ved netIP's kontor i Herning. Hun kommer fra en stilling som IT-Supporter hos Holstebro Kommune. Nyt job