
Cornelius Paul
0
2329
322
Webmasterzy konfigurujący obecnie serwery WWW Apache2 HTTP powinni upewnić się, że HTTP / 2 jest uwzględniony w konfiguracji. HTTP / 2 zastępuje HTTP / 1 i zyskuje na popularności. Aby uruchomić HTTP / 2, potrzebujesz certyfikatu SSL / TLS, dlatego też konfigurujemy Let's Encrypt free SSL / TLS.
Większość serwerów WWW zaczyna włączać obsługę HTTP / 2 (HTTP wersja 2) do swoich kompilacji i sprawia, że protokół jest łatwo dostępny. HTTP / 2 to nowsza wersja protokołu HTTP / 1, który był protokołem domyślnym od czasu jego ustandaryzowania w 1999 roku.
Domyślna wersja Apache2 w repozytoriach Ubuntu nie obsługuje protokołu HTTP / 2 - przynajmniej na razie. Aby dziś obsługiwać HTTP / 2 z Apache2 na Ubuntu, musisz zaktualizować Apache2 do nieobsługiwanej (ale stabilnej) wersji na Ubuntu.
Ten krótki samouczek pokaże studentom i nowym użytkownikom, jak skonfigurować Apache2 z certyfikatami HTTP / 2 i Let's Encrypt SSL.
Oto niektóre z najważniejszych zalet protokołu HTTP / 2:
- Pojedyncze, trwałe połączenie
- Multipleksowanie
- Kompresja nagłówka
- Priorytetyzacja zasobów
- Bezpieczna warstwa transportowa
Jak więc widać, osoby dokonujące aktualizacji do HTTP / 2 mają ogromne korzyści.
HTTP / 2 działa tylko z serwerem WWW z włączonym SSL / TLS… więc aby HTTP / 2 działało, musisz najpierw zainstalować i włączyć certyfikaty SSL / TLS. Wykonaj poniższe czynności, aby zainstalować najnowszą wersję Apache2 i zainstalować i skonfigurować Let's Encrypt.
Krok 1: Zainstaluj Apache2 z obsługą HTTP / 2
Ponieważ obsługiwana wersja Apache2 dostarczana z Ubuntu nie obsługuje HTTP / 2, musisz zainstalować Apache2 z zewnętrznego źródła. Aby to zrobić, uruchom poniższe polecenia, aby dodać repozytorium innej firmy do Ubuntu.
sudo add-apt-repository ppa: ondrej / apache2
Następnie zaktualizuj i zainstaluj Apache2
sudo apt update sudo apt install apache2
Teraz, gdy najnowsza wersja Apache2 jest zainstalowana, uruchom poniższe polecenia, aby włączyć obsługę HTTP / 2… Obsługa HTTP / 2 jest włączona z Apache2 2.4.24 i do góry.
sudo a2enmod http2
KROK 2: UZYSKAJ I SKONFIGURUJ SZYFIKUJ CERTYFIKATY SSL
Teraz, gdy konfiguracja Apache2 jest zakończona, kontynuuj poniżej, aby zainstalować i skonfigurować Let's Encrypt. Let's Encrypt udostępnia teraz moduł Apache2 do automatyzacji tego procesu. Aby zainstalować klienta / moduł w systemie Ubuntu, uruchom poniższe polecenia
sudo apt-get install python-certbot-apache
Następnie uruchom poniższe polecenia, aby uzyskać bezpłatny certyfikat Let's Encrypt SSL / TLS dla swojej witryny.
sudo certbot --apache -m [email protected] -d example.com -d www.example.com
Po uruchomieniu powyższych poleceń powinien zostać wyświetlony monit o zaakceptowanie warunków licencji. Jeśli wszystko jest zaznaczone, klient powinien automatycznie zainstalować bezpłatny certyfikat SSL / TLS i skonfigurować witrynę Apache2 do korzystania z certyfikatów.
Przeczytaj Warunki korzystania z usługi na stronie https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Musisz wyrazić zgodę, aby zarejestrować się na serwerze ACME pod adresem https://acme-v01.api.letsencrypt.org/directory ----------------------- -------------------------------------------------- ------ (A) gree / (C) ancel: A
Wybierz Tak (Y), aby udostępnić swój adres e-mail
Czy chciałbyś udostępnić swój adres e-mail Electronic Frontier Foundation, partnerowi założycielowi projektu Let's Encrypt i organizacji non-profit, która rozwija Certbot? Chcielibyśmy wysłać Ci wiadomość e-mail o EFF i naszej pracy nad szyfrowaniem sieci, ochroną jej użytkowników i ochroną praw cyfrowych. -------------------------------------------------- ----------------------------- (Y) es / (N) o: Y
Oto, jak łatwo jest uzyskać bezpłatny certyfikat SSL / TLS dla swojej witryny opartej na Nginx.
Wybierz, czy przekierowywać ruch HTTP do HTTPS, usuwając dostęp HTTP. -------------------------------------------------- ----------------------------- 1: bez przekierowania - nie wprowadzaj dalszych zmian w konfiguracji serwera WWW. 2: Przekierowanie - przekierowuj wszystkie żądania do bezpiecznego dostępu HTTPS. Wybierz tę opcję dla nowych witryn lub jeśli masz pewność, że Twoja witryna działa w protokole HTTPS. Możesz cofnąć tę zmianę, edytując konfigurację serwera WWW. -------------------------------------------------- ----------------------------- Wybierz odpowiedni numer [1-2], a następnie [enter] (naciśnij „c”, aby anulować) : 2
Wybierz opcję 2, aby przekierować cały ruch przez HTTPS. To jest ważne!
Następnie klient SSL powinien zainstalować certyfikat i skonfigurować witrynę tak, aby przekierowywała cały ruch przez HTTPS.
Gratulacje! Pomyślnie włączyłeś https://example.com i https://www.example.com Powinieneś przetestować swoją konfigurację pod adresem: https://www.ssllabs.com/ssltest/analyze.html?d=example.com https : //www.ssllabs.com/ssltest/analyze.html? d = www.example.com ---------------------------- -------------------------------------------------- - WAŻNE UWAGI: - Gratulacje! Twój certyfikat i łańcuch zostały zapisane pod adresem: /etc/letsencrypt/live/example.com/fullchain.pem Twój plik klucza został zapisany pod adresem: /etc/letsencrypt/live/example.com/privkey.pem Twój certyfikat wygaśnie w dniu 2018-02-24. Aby w przyszłości uzyskać nową lub ulepszoną wersję tego certyfikatu, po prostu uruchom ponownie certbot z opcją „certonly”. Aby w sposób nieinteraktywny odnowić * wszystkie * swoje certyfikaty, uruchom „certbot renew” - Jeśli podoba Ci się Certbot, rozważ wsparcie naszej pracy poprzez: Darowizna dla ISRG / Let's Encrypt: https://letsencrypt.org/donate Darowizna dla EFF: https://eff.org/donate-le
Podświetlony blok kodu powinien zostać automatycznie dodany do pliku konfiguracyjnego witryny Apache2 przez certbot Let's Encrypt. Twoja witryna jest gotowa do użytku przez HTTPS.
ServerAdmin [email protected] DocumentRoot /var/www/html/example.com/ ServerName example.com ServerAlias www.example.com ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log połączone RewriteEngine on RewriteCond % SERVER_NAME = example.com [LUB] RewriteCond% SERVER_NAME = www.example.com RewriteRule ^ https: //% SERVER_NAME% REQUEST_URI [END, NE, R = permanent]
Należy również utworzyć nowy plik konfiguracyjny dla domeny o nazwie /etc/apache2/sites-available/example-le-ssl.conf. To jest plik konfiguracyjny modułu Apache2 SSL i powinien zawierać zdefiniowane w nim definicje certyfikatów.
ServerAdmin [email protected] DocumentRoot /var/www/html/example.com/ ServerName example.com ServerAlias www.example.com ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log połączone SSLCertificateFile / etc /letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf
Krok 3: Włącz HTTP / 2 w witrynach Apache2
Po skonfigurowaniu Let's Encrypt i włączeniu HTTP / 2 dodaj to podobnie do globalnego pliku konfiguracyjnego Apache2, aby włączyć HTTP / 2 we wszystkich witrynach.
sudo nano /etc/apache2/apache2.conf
Następnie dodaj poniższy wiersz w dowolnym miejscu w pliku i zapisz… Następnie uruchom ponownie, a protokół HTTP / 2 zostanie włączony we wszystkich witrynach.
Protokoły h2 http / 1.1
Jeśli nie chcesz włączać go dla wszystkich witryn, dodaj powyższy wiersz do pliku konfiguracyjnego SSL dla witryny.
ServerAdmin [email protected] DocumentRoot /var/www/html/example.com/ ServerName example.com Protokoły h2 http / 1.1 ServerAlias www.example.com…
Zapisz i uruchom ponownie Apache2.
sudo systemctl przeładuj apache2.service
Teraz powinieneś mieć obsługę Apache2 HTTP / 2.
Gratulacje! Pomyślnie skonfigurowałeś Apache2 z obsługą HTTP / 2 i Let's Encrypt.
Cieszyć się!
Aby skonfigurować proces automatycznego odnawiania certyfikatów, dodaj zadanie cron, aby wykonać proces odnawiania.
sudo crontab -e
Następnie dodaj poniższą linię i zapisz.
0 1 * * * / usr / bin / certbot odnowienie &> / dev / null
Zadanie cron podejmie próbę odnowienia 30 dni przed wygaśnięciem