Konfiguracja serwera
Serwowanie plików statycznych to kluczowy element tworzenia stron internetowych. Musisz dostarczać użytkownikom pliki HTML, CSS, JS oraz obrazy.
W frameworku Hyperlane odbywa się to za pomocą middleware. Middleware przechwytuje żądania i odczytuje pliki z dysku.
Proces składa się z czterech kroków:
- Rozwiązywanie ścieżek: Mapowanie adresów URL na system plików.
- Wykrywanie typu zawartości: Znalezienie odpowiedniego typu MIME.
- Odczytywanie plików: Pobieranie danych z dysku.
- Dostarczanie odpowiedzi: Przesłanie pliku do klienta.
Hyperlane ułatwia to zadanie dzięki narzędziu FileExtension. Automatycznie wykrywa ono typy takie jak: • .html jako text/html • .css jako text/css • .js jako application/javascript • .png jako image/png
Dobre praktyki przy serwowaniu plików statycznych:
Używaj asynchronicznego I/O Zawsze używaj
tokio::fsdo odczytywania plików. Zapobiega to blokowaniu serwera.Obsługuj żądania katalogów Jeśli ścieżka kończy się ukośnikiem, szukaj pliku index.html. Pomaga to w prawidłowym serwowaniu witryn.
Ustaw poprawne nagłówki Upewnij się, że wysyłasz właściwy Content-Type. Jeśli serwujesz pliki dla innych domen, dodaj nagłówki CORS.
Bezpieczeństwo i błędy
- Sprawdzaj istnienie plików, aby zwracać błędy 404.
- Sanizuj ścieżki, aby zapobiec atakom typu directory traversal.
- Używaj middleware uwierzytelniającego, jeśli Twoje zasoby są prywatne.
Hyperlane zapewnia narzędzia do budowy wydajnych i bezpiecznych serwerów plików. Możesz łączyć te narzędzia z filtrami tras, aby dokładnie kontrolować, kto widzi Twoje pliki.
Kod projektu: https://github.com/hyperlane-dev/hyperlane
Źródło: https://dev.to/tengxgfyrz67s/server-configuration-8i7