Skontaktuj się z nami

info@serverion.com

Zadzwoń do nas

+1 (302) 380 3902

Kompletny przewodnik po tworzeniu bezpiecznego odwrotnego serwera proxy Nginx

Kompletny przewodnik po tworzeniu bezpiecznego odwrotnego serwera proxy Nginx

Stworzenie bezpiecznego, niezawodnego i skalowalnego odwrotnego proxy jest kluczowe dla firm i specjalistów IT zarządzających witrynami internetowymi o dużym ruchu lub złożonymi aplikacjami. Nginx, serwer WWW typu open source i odwrotny proxy, to potężne rozwiązanie do routingu, optymalizacji i zabezpieczania ruchu do usług zaplecza. W tym przewodniku przeprowadzimy Cię przez proces konfiguracji niezawodnego odwrotnego proxy z wykorzystaniem Nginx w systemie Ubuntu 24.04, omawiając kluczowe kroki, takie jak szyfrowanie TLS, ograniczanie przepustowości i integracja z Cloudflare.

Jeśli zarządzasz witrynami internetowymi klasy enterprise, platformami e-commerce lub serwerami multimedialnymi, ten przewodnik pomoże Ci zwiększyć wydajność, zagwarantować dostępność i zabezpieczyć infrastrukturę przed lukami w zabezpieczeniach.

Czym jest serwer proxy odwrotny Nginx?

Odwrotny serwer proxy Nginx działa jako serwer pośredniczący między klientami a usługami zaplecza. Przekazuje żądania klientów do odpowiedniego serwera zaplecza, optymalizując rozkład obciążenia, zwiększając bezpieczeństwo i udostępniając takie funkcje, jak buforowanie, kończenie połączeń SSL i filtrowanie ruchu. Taka konfiguracja jest szczególnie przydatna w przypadku hostowania serwerów multimediów, aplikacji wielostanowiskowych i usług za zaporami sieciowymi.

Dlaczego potrzebujesz odwrotnego serwera proxy

Odwrotny serwer proxy zapewnia kilka kluczowych korzyści:

  • Zwiększone bezpieczeństwo: Ukrywa adresy IP serwerów zaplecza i włącza szyfrowanie za pomocą protokołu TLS/SSL.
  • Równoważenie obciążenia:Równomiernie rozdziela ruch pomiędzy wiele serwerów zaplecza.
  • Optymalizacja:Zmniejsza opóźnienia i poprawia efektywność wykorzystania zasobów.
  • Skalowalność:Ułatwia zarządzanie scenariuszami o dużym natężeniu ruchu.
  • Łatwość zarządzania:Uproszcza konfigurację wielu usług zaplecza za ujednoliconą domeną.

W tym samouczku pokażemy, jak:

  • Skonfiguruj Nginx jako odwrotny serwer proxy.
  • Zabezpiecz swoją konfigurację za pomocą certyfikatów TLS Let's Encrypt.
  • Skonfiguruj zaawansowane optymalizacje, takie jak ograniczanie przepustowości i przekazywanie żądań.
  • Zintegruj Cloudflare, aby ominąć ograniczenia portów dostawcy usług internetowych.

Krok 1: Instalowanie Nginx i Certbota w Ubuntu 24.04

Zaktualizuj swój system

Przed zainstalowaniem jakiegokolwiek oprogramowania upewnij się, że system jest aktualny:

sudo apt update i sudo apt upgrade 

Zainstaluj Nginx i Certbot

Aby zainstalować Nginx i Certbot za pomocą wtyczki Nginx, użyj następujących poleceń:

sudo apt install nginx -y sudo apt install certbot python3-certbot-nginx -y 

Zweryfikuj instalację

Sprawdź, czy Nginx działa:

sudo systemctl status nginx 

Aby przetestować dostęp, ustal adres IP swojego serwera:

adres IP a 

Wejdź na adres IP w przeglądarce. Jeśli się powiedzie, zobaczysz domyślną stronę powitalną Nginx.

Krok 2: Konfigurowanie reguł zapory sieciowej

Włącz nieskomplikowaną zaporę sieciową (UFW)

Dzięki UFW możesz łatwo zarządzać regułami zapory sieciowej:

sudo ufw zezwól na „Nginx Full” sudo ufw zezwól na OpenSSH sudo ufw włącz 

Sprawdź stan swojej zapory sieciowej, aby upewnić się, że otwarte są właściwe porty:

sudo ufw status 

Krok 3: Konfigurowanie serwera proxy Nginx

Utwórz niestandardowe pliki konfiguracyjne

Aby zapewnić większą elastyczność i bezpieczeństwo, użyj plików fragmentów kodu do przechowywania określonych konfiguracji. Utwórz następujące pliki:

  1. Nagłówki bezpieczeństwa:
    sudo nano /etc/nginx/snippets/security-headers.conf 
    Zdefiniuj nagłówki zabezpieczeń, aby zwiększyć ochronę:
    add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options "nosniff"; add_header X-XSS-Protection "1; mode=block"; 
  2. Ustawienia proxy:
    sudo nano /etc/nginx/snippets/proxy.conf 
    Zoptymalizuj długie strumienie i zapobiegaj powolnym reakcjom:
    proxy_connect_timeout 60 s; proxy_send_timeout 60 s; proxy_read_timeout 60 s; 
  3. Limity szybkości:
    sudo nano /etc/nginx/snippets/rate-limit.conf 
    Ogranicz nadmierne żądania:
    limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s; 

Dołącz fragmenty kodu do konfiguracji głównej

Edytuj główną konfigurację Nginx:

sudo nano /etc/nginx/nginx.conf 

Dodaj poniższe pod http blok:

zawiera /etc/nginx/snippets/*.conf; 

Uruchom ponownie Nginx, aby zastosować zmiany:

sudo systemctl reload nginx 

Krok 4: Konfigurowanie odwrotnego serwera proxy dla usługi zaplecza

Utwórz wirtualnego hosta

Utwórz plik konfiguracyjny dla swojej usługi zaplecza:

sudo nano /etc/nginx/sites-available/jellyfin 

Przykładowa konfiguracja serwera multimediów Jellyfin:

serwer { nasłuchuj 80; nazwa_serwera jelly.twoja_domena.com; lokalizacja / { hasło_proxy http://10.10.0.112:8096; dołącz /etc/nginx/snippets/proxy.conf; } } 

Włącz witrynę, tworząc łącze symboliczne:

sudo ln -s /etc/nginx/sites-available/jellyfin /etc/nginx/sites-enabled/ 

Przetestuj i przeładuj Nginx:

sudo nginx -t sudo systemctl reload nginx 

Krok 5: Zabezpieczanie domeny za pomocą Let’s Encrypt TLS

Aby zabezpieczyć swoją domenę, użyj Let's Encrypt do wydawania bezpłatnych certyfikatów:

sudo certbot --nginx -d jelly.twojadomena.com 

Certbot automatycznie konfiguruje protokół SSL w pliku witryny Nginx. Aby upewnić się, że certyfikaty są odnawiane automatycznie, sprawdź, czy licznik czasu systemd jest aktywny:

sudo systemctl list-timers | grep certbot 

Krok 6: Integracja Cloudflare w celu zapewnienia dodatkowego bezpieczeństwa i ominięcia portu dostawcy usług internetowych

Zainstaluj Cloudflared

Cloudflared tworzy bezpieczny tunel do kierowania ruchem przez Cloudflare, omijając ograniczenia dostawców usług internetowych na portach 80 i 443:

  1. Pobierz .deb pakiet ze strony Cloudflare na GitHubie.
  2. Zainstaluj pakiet:
    sudo dpkg -i cloudflared-version.deb 

Skonfiguruj tunel

Zweryfikuj swoje konto Cloudflare:

logowanie do tunelu Cloudflared 

Utwórz nowy tunel:

tunel Cloudflared utwórz mój tunel 

Edytuj plik konfiguracyjny Cloudflare:

sudo nano /etc/cloudflared/config.yml 

Przykładowa konfiguracja:

tunel: my-tunnel plik-poświadczeń: /home/user/.cloudflared/my-tunnel.json przychodzący: - nazwa hosta: jelly.twojadomena.com usługa: http://localhost:8096 - usługa: http_status:404 

Uruchom i włącz usługę tunelowania:

sudo systemctl enable cloudflared sudo systemctl start cloudflared 

Najważniejsze wnioski

  • Serwer proxy odwrotny Nginx:Niezbędne do bezpiecznego kierowania ruchem i optymalizacji usług zaplecza.
  • Szyfrowanie TLS: Użyj Let's Encrypt, aby zabezpieczyć swoje domeny za pomocą bezpłatnych certyfikatów SSL.
  • Reguły zapory sieciowej:Otwórz niezbędne porty dla HTTP (80), HTTPS (443) i SSH (22).
  • Optymalizacja bezpieczeństwa:Wprowadź nagłówki i ograniczenia przepustowości, aby zapobiec atakom.
  • Integracja z Cloudflare:Używaj tuneli Cloudflared, aby zapewnić bezpieczny hosting przyjazny dla dostawców usług internetowych.
  • Automatyzacja:Timery Systemd zapewniają automatyczne odnawianie certyfikatów SSL.

Wniosek

Konfiguracja bezpiecznego odwrotnego proxy Nginx wymaga dbałości o szczegóły i starannej konfiguracji, ale korzyści są warte wysiłku. Niezależnie od tego, czy hostujesz serwery multimediów, takie jak Jellyfin, czy zarządzasz aplikacjami korporacyjnymi, ten przewodnik wyposaży Cię w narzędzia i wiedzę niezbędne do zbudowania wysoce bezpiecznego i wydajnego środowiska. Dzięki funkcjom takim jak TLS, tunele Cloudflare i zaawansowane optymalizacje, Twoja infrastruktura jest gotowa na współczesne wymagania.

Źródło: „Przestań ujawniać swoje aplikacje! Zbuduj bezpieczny serwer proxy odwrotnego Nginx!” – KeepItTechie, YouTube, 19 sierpnia 2025 r. – https://www.youtube.com/watch?v=MzbhS2S7H_g

Zastosowanie: Osadzone w celach informacyjnych. Krótkie cytaty użyte w komentarzu/recenzji.

Powiązane wpisy na blogu

pl_PL