Skonfiguruj Apache2 HTTP / 2 z darmowymi certyfikatami Let's Encrypt SSL / TLS na serwerze Ubuntu 16.04 LTS

  • 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




Jeszcze bez komentarzy

Zbiór przydatnych informacji o systemie operacyjnym Linux i nowych technologiach
Świeże artykuły, praktyczne wskazówki, szczegółowe recenzje i poradniki. Poczuj się jak w domu w świecie systemu operacyjnego Linux