Apache2

Serwowanie treści

Written By Coder Matthew

Last updated 6 months ago

1) Wprowadzenie

Apache2 to jeden z najpopularniejszych serwerów HTTP używanych do serwowania stron internetowych i aplikacji webowych. Umożliwia obsługę zarówno statycznych plików (HTML, CSS, JS), jak i dynamicznych skryptów (PHP, Python, itp.).

Pliki .htaccess to lokalne pliki konfiguracyjne, które pozwalają modyfikować ustawienia serwera w obrębie konkretnego katalogu bez potrzeby zmiany globalnej konfiguracji Apache. Dzięki nim można m.in.:

  • Wymuszać przekierowania i przyjazne URL-e.

  • Chronić katalogi hasłem.

  • Blokować dostęp z wybranych adresów IP.

  • Obsługiwać niestandardowe strony błędów (404, 403).

  • Włączać lub wyłączać funkcje serwera, np. cache lub kompresję.

Dzięki połączeniu Apache2 + .htaccess administratorzy mogą elastycznie zarządzać dostępem, bezpieczeństwem i ścieżkami na serwerze.

https://httpd.apache.org/

2) Przykład

# Blokada dostępu do katalogów 
Options -Indexes 

# Ustawienie niestandardowych stron błędów 
ErrorDocument 404 /errors/404.html
ErrorDocument 403 /errors/403.html 

# Włączenie cache dla przeglądarki 
<IfModule mod_headers.c> 
    Header set Cache-Control "max-age=3600, public" 
</IfModule> 

# Zabezpieczenie pliku .htaccess 
<Files .htaccess> 
    Require all denied 
</Files>

W tym przykładzie:

  • Options -Indexes uniemożliwia przeglądanie zawartości katalogu.

  • ErrorDocument pozwala ustawić własne strony błędów.

  • Nagłówki HTTP kontrolują cache przeglądarki.

  • .htaccess chroniony przed dostępem z zewnątrz.

3) Zastosowanie

Bitfun używa Apache2 + .htaccess do kontroli bezpieczeństwa i kierowania użytkowników na odpowiednie strony:

<IfModule mod_headers.c> 
    Header set Cache-Control "no-cache, no-store, must-revalidate" 
    Header set Pragma "no-cache" 
    Header set Expires 0 
</IfModule> 

<IfModule mod_dir.c> 
    DirectoryIndex index.html index.php
</IfModule> 

<IfModule mod_alias.c> 
    EnableSendfile Off 
    EnableMMAP Off 
</IfModule> 

Options -Indexes 

<Files .htaccess> 
    Order allow,deny 
    Deny from all 
</Files> 

ErrorDocument 404 https://matthew.elita.fun/bitfun/errors/error_404.php 
ErrorDocument 403 https://matthew.elita.fun/bitfun/errors/error_403.php

Tutaj:

  • Nagłówki Cache-Control i Pragma wymuszają brak cache dla wrażliwych stron.

  • DirectoryIndex ustawia domyślne pliki startowe (index.php, index.html).

  • EnableSendfile i EnableMMAP są wyłączone w celu poprawy kompatybilności.

  • Options -Indexes blokuje listowanie plików katalogu.

  • Plik .htaccess sam jest chroniony przed dostępem z zewnątrz.

  • Niestandardowe strony błędów 404 i 403 kierują użytkownika na specjalne strony Bitfun.

4) Strony błędu

4.1) Error 404

4.2) Error 403

5) Podsumowanie

Apache2 w połączeniu z .htaccess pozwala na:

  • Zarządzanie bezpieczeństwem katalogów i plików.

  • Tworzenie przyjaznych URL-i i przekierowań.

  • Blokowanie niepożądanych użytkowników na podstawie IP.

  • Obsługę niestandardowych komunikatów błędów.

  • Elastyczne dostosowanie konfiguracji w obrębie pojedynczych katalogów.

Bitfun korzysta z tej konfiguracji, aby chronić katalogi użytkowników, kontrolować cache, kierować błędy i zapewnić bezpieczeństwo serwisu.