Jak włączyć HTTPS na serwerze WWW Apache

Jak włączyć HTTPS na serwerze WWW Apache
Apache jest jednym z najpopularniejszych serwerów internetowych obsługujących ponad 30% procent stron internetowych. Jest to bezpłatny i open source serwer HTTP. Jest pakowany z mnóstwem narzędzi i funkcji do bezpiecznego uruchamiania aplikacji.

W tym samouczku opisano, jak skonfigurować bezpieczne witryny SSL na serwisie Apache.

Uwaga: ten samouczek jest napisany i testowany dla Debiana 9, 10 i 11 oraz Ubuntu 20.04.

Wymagania.

Aby śledzić ten przewodnik, będziesz musiał mieć następujące czynności:

  1. Instalacja Ubuntu/Debian
  2. Uprawnienia sudo lub root do instalowania pakietów, modyfikacji plików konfiguracyjnych i ponownego uruchomienia usług.

Instalowanie Apache

Jeśli nie masz zainstalowanego Apache, musimy go zainstalować. Wprowadź polecenia:

Aktualizacja sudo apt
sudo apt instal apache2 openssl

Po zainstalowaniu serwera Apache uruchom usługę i upewnij się, że wszystko działa poprawnie.

Włączanie modułów mod_ssl i mod_rewrite.

Następnym krokiem jest włączenie modułów mod_ssl i mod_rewrite. Aby to zrobić, używamy skryptu A2enMod, który pozwala nam włączyć i wyłączać moduły w konfiguracji Apache.

Użyj poleceń, jak pokazano poniżej:

sudo a2enmod ssl
sudo a2enmod przepisanie

Włączać .Zastąpienie htaccess

Następnym krokiem jest edycja konfiguracji Apache i dodanie wpisu, aby umożliwić ustawienia domyślne apache. Nadrzędne ustawienia są wykonywane w .plik htaccess znajdujący się w katalogu root apache.

sudo vim/etc/apache2/apache2.conf

Przejdź do końca pliku i dodaj następujący wpis:


Zezwolenie na wszystko

Zapisz i zamknij plik.

Generowanie certyfikatu SSL

Istnieją różne sposoby uzyskania bezpłatnego certyfikatu SSL. Narzędzia takie jak generatory Certbot i SSL to świetne opcje.

Jednak w tym przewodniku utworzymy samozadowolenie certyfikatu za pomocą narzędzia OpenSSL.

Utwórz katalog w katalogu konfiguracji Apache jako:

sudo mkdir/etc/apache2/certs

Przejdź do katalogu utworzonego powyżej.

CD/etc/apache2/certs

Uruchom narzędzie OpenSSL, aby wygenerować swój samodzielny certyfikat podany w poniższym poleceniu:

Uwaga: Możesz podać dowolne informacje w tym procesie, z wyjątkiem nazwy zwyczajowej. Upewnij się, aby podać adres IP lub nazwę hosta.

Po pomyślnym zakończeniu procesu powinieneś mieć Apache.CRT i Apache.Klucz w katalogu certs.

Dodawanie CERT do konfiguracji Apache

Dodaj certyfikat, edytując plik konfiguracyjny domyślnej witryny Apache.

sudo vim/etc/apache2/witryny-obsługujący/000-default.conf

Dodaj wirtualny blok hosta na porcie 443, jak pokazano:


ServerAdmin Webmaster@LocalHost
DocumentRoot/var/www/html
ErrorLog $ apache_log_dir/error.dziennik
CustomLog $ apache_log_dir/access.Log łącznie
Sslengine on
SSLCertificateFile/etc/apache2/certs/apache.crt
SSLCertificateKeyFile/etc/apache2/certs/apache.klucz

Przekierowanie do HTTPS.

W większości przypadków będziesz chciał przekierować użytkowników z punktu końcowego SSL do SSL. Robisz to, dodając regułę przepisywania na wirtualnych hostach portu 80.

Dodaj wpis jako:

RewriteEngine on
Przepisanie %https != ON
Przepis ^//?(.*) https: //%Server_name/1 $ [r = 301, l]

Uwaga: Upewnij się, że bloki powyżej znajdują się pod wirtualnym hostem portu 80.

Uruchom ponownie i uzyskaj dostęp do Apache

Po skonfigurowaniu wszystkiego powyżej uruchom ponownie usługę Apache i uzyskaj dostęp do Twojej witryny za pośrednictwem LocalHost.

https: // 127.0.0.1

Możesz wyświetlić informacje o certyfikacie, klikając ikonę blokady w przeglądarce.

Wniosek

W tym przewodniku omówiliśmy sposób włączenia i skonfigurowania SSL na serwisie Apache.