Nginx to serwer internetowy typu open source, który podbił serca wielu administratorów i programistów dzięki swojej wydajnej wydajności, niskiemu zużyciu pamięci i potężnemu wsparciu dla różnych protokołów. Dziś omówimy konfigurację obsługi HTTP/2 w Nginx.
HTTP/2 to ewolucja protokołu HTTP, która poprawia transfer danych między serwerem a użytkownikiem. Zastępuje on protokół HTTP 1.1, który miał limit liczby jednoczesnych połączeń, co spowalniało ładowanie ciężkich stron. HTTP/2 rozwiązuje ten problem, umożliwiając równoległe ładowanie danych i kompresję nagłówków HTTP.
Dlaczego przejście na protokół HTTP/2 jest ważne?
Przejście na protokół HTTP/2 nie tylko przyspiesz a ładowanie witryny, ale także zwiększa bezpieczeństwo transmisji danych. Wszystkie nowoczesne przeglądarki wymagają, aby witryny korzystały z protokołu HTTPS w celu obsługi HTTP/2, co sprawia, że transmisja danych między serwerem a odwiedzającymi jest bezpieczniejsza.
Proces przejścia na protokół HTTP/2
Zanim zaczniesz konfigurować HTTP/2 , musisz mieć serwer z Ubuntu 18.04 i zainstalowanym Nginx. Ponadto nazwa domeny musi być wskazana na serwerze, a certyfikat SSL (na przykład Let’s Encrypt) musi być zainstalowany dla tej domeny.
1. Konfiguracja serwera
Otwórz plik konfiguracyjny domeny:
vim /etc/nginx/sites-available/your_domain
Dodanie obsługi HTTP/2 dla połączeń IPv6 i IPv4:
listen [::]:443 ssl hp2 ipv6only=on;
listen 443 ssl http2;
Zapisz zmiany i sprawdź składnię:
nginx -t
2. Zwiększone bezpieczeństwo
Aby poprawić bezpieczeństwo, należy wykluczyć niezabezpieczone szyfry. W pliku konfiguracyjnym domeny zmień opcję ssl_ciphers:
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
Sprawdź składnię i uruchom ponownie serwer:
nginx -t
systemctl restart nginx.service
3. Dodawanie HTTP Strict Transport Security (HSTS)
Aby uzyskać jeszcze większe bezpieczeństwo, dodaj nagłówek HTTP Strict Transport Security do pliku konfiguracyjnego Nginx. Nagłówek ten zapewnia, że przeglądarki będą używać tylko połączeń HTTPS.
W pliku konfiguracyjnym Nginx:
add_header Strict-Transport-Security "max-age=15768000; includeSubDomains" always;
Sprawdź składnię i uruchom ponownie serwer.
4. Sprawdzenie poprawności działania protokołu HTTP/2.
Protokół HTTP/2 można przetestować za pomocą polecenia curl:
Odpowiedź serwera musi zawierać HTTP/2.
Możesz także użyć Google Chrome i narzędzi deweloperskich, aby sprawdzić obsługę HTTP/2.
Teraz Twoja witryna jest gotowa do pracy z HTTP/2 – szybszą i bezpieczniejszą wersją protokołu HTTP 🚀.
Pamiętaj, aby zawsze aktualizować i zabezpieczać swój serwer. Powodzenia!!!!
Czytaj także:
- Wybór najlepszego systemu operacyjnego dla serwera: CentOS vs Ubuntu
- Co to jest pamięć gwarantowana i SWAP? Jakie są różnice
- Czym jest serwer VDS/VPS i jak wybrać najlepszy z nich?
Pytania i odpowiedzi
Protokół HTTP/2 oferuje szereg korzyści, w tym lepszą wydajność dzięki funkcjom takim jak multipleksowanie i kompresja nagłówków, zwiększone bezpieczeństwo dzięki wbudowanemu szyfrowaniu oraz lepszą obsługę nowoczesnych technologii internetowych.
Tak, włączenie SSL/TLS jest niezbędne podczas konfigurowania obsługi HTTP/2, aby zapewnić bezpieczną komunikację między klientami a serwerem. Szyfrowanie SSL/TLS chroni wrażliwe dane przed przechwyceniem i nieautoryzowanym dostępem.
Chociaż technicznie możliwe jest skonfigurowanie obsługi HTTP/2 na starszych wersjach Ubuntu, takich jak 16.04, zaleca się korzystanie z Ubuntu 18.04 lub nowszego w celu uzyskania optymalnej kompatybilności i wsparcia.
Możesz sprawdzić, czy protokół HTTP/2 jest włączony na serwerze Nginx za pomocą narzędzi takich jak curl lub usług testowania HTTP/2 online. Alternatywnie, sprawdzenie dzienników serwera Nginx może dać ci wyobrażenie o wersji protokołu używanej przez połączenia klienckie.
Włączenie obsługi HTTP/2 może wymagać nieco więcej zasobów serwera niż HTTP/1.1 ze względu na większą złożoność protokołu. Jednak korzyści związane z wydajnością zwykle przewyższają minimalne wymagania dotyczące zasobów.
Tak, w razie potrzeby można powrócić do protokołu HTTP/1.1, zmieniając ustawienia konfiguracyjne Nginx. Zaleca się jednak dokładne przetestowanie kompatybilności i wydajności witryny przed wprowadzeniem jakichkolwiek zmian.