Jak używać Apache do przekierowania całego ruchu z HTTP do HTTPS
- 2019
- 72
- Tomasz Szatkowski
Jeśli Twoja witryna korzysta z Apache i SSL, nie ma wiele powodów, aby nadal korzystać z HTTP ze swoją witryną. Posiadanie zarówno HTTP, jak i HTTPS po prostu tworzy zduplikowane treści, ponieważ teraz każda dana strona będzie dostępna za pośrednictwem dwóch technicznie różnych adresów URL.
W tym przewodniku założymy, że już używasz Apache w systemie Linux i chcesz przekierować cały ruch HTTP do HTTPS. Zapewni to, że wszyscy twoi odwiedzający łączą się tylko przez HTTPS, zmuszając przeglądarkę do bezpiecznego protokołu, jeśli zdarzy się otworzyć link HTTP. Jeśli użytkownik zdecyduje się przedmówić link z http: //
, Twoja witryna będzie wystarczająco inteligentna, aby nadal wysłać je na właściwą stronę, zamiast wyświetlać duplikat treści lub wyświetlać błąd 404.
Istnieją dwa sposoby skonfigurowania tego przekierowania w Apache. Lepszą metodą jest skonfigurowanie wirtualnego hosta, ale użytkownicy z hostowanymi stronami mogą nie mieć dostępu do tej konfiguracji. Drugą metodą jest wprowadzenie pewnych zmian w .Htaccess
plik. Poniżej omówimy instrukcje krok po kroku dla obu metod. Zacznijmy.
W tym samouczku nauczysz się:
- Jak przekierować HTTP do HTTPS z wirtualnym hostem
- Jak przekierować HTTP do HTTPS
.Htaccess
plik
Kategoria | Wymagania, konwencje lub wersja oprogramowania |
---|---|
System | Każda dystrybucja Linux |
Oprogramowanie | Apache |
Inny | Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo Komenda. |
Konwencje | # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny |
Przekieruj HTTP do HTTPS z wirtualnym hostem
Na Ubuntu, Debian i jego pochodnych, znajdziesz wirtualne pliki hosta w /etc/apache2/witryny
. Otwórz odpowiedni plik w wybranym edytorze tekstu:
$ sudo vi/etc/apache2/witryny-dostępny/przykład.conf
W Redhat, Centos, Fedora i innych pochodnych znajdziesz konfigurację wirtualnych hostów w:
$ sudo vi/etc/httpd/conf.D
Ten plik może być używany do przekierowania ruchu, między innymi. Jeśli używasz już HTTP i HTTPS na swojej stronie, powinieneś mieć co najmniej dwa wirtualne hosty już w pliku - jeden dla 80 (HTTP) i jeden dla 443 (HTTPS). Aby przekierować ruch HTTP, będziemy musieli dodać następujący wiersz:
Przekieruj stałe/https: // przykład.com/
Dodaj go gdzieś w środku nagłówek, jak w poniższym przykładzie:
Zapisz zmiany i wyjdź z tego pliku po zakończeniu. Aby zmiany w obowiązywaniu należy ponownie załadować konfigurację Apache za pomocą następującego polecenia SystemCtl:
$ sudo Systemctl RELOOD APACHE2 # Debian, Ubuntu lub $ sudo Systemctl RELOOD HTTPD # Red Hat, Centos, Fedora
Przekierować HTTP do HTTPS .plik Htaccess
Jeśli nie masz dostępu do wirtualnej konfiguracji hosta, .Htaccess
Plik będzie Twoją jedyną opcją. Można go znaleźć w katalogu głównym witryny, który powinien być dostępny bez względu na to, jakiego hosta używasz.
Po prostu edytuj ten plik i dodaj do niego następujące wiersze kodu. Możesz po prostu wkleić je na dole pliku.
RewriteEngine na przepisu %https poza rewriterule ^(.*) $ https: // przykład.com/1 $ [l, r = 301]
To wszystko. Należy zauważyć zmiany natychmiast podczas nawigacji do Twojej witryny, ponieważ Apache nie musi być ponownie załadowany, aby te zmiany w obowalniu.
Zamykanie myśli
HTTPS to zdecydowanie droga. W tym artykule zobaczyliśmy, jak łatwo było przekierować cały ruch do HTTPS i całkowicie pozbyć się HTTP. Każda z tych metod jest opłacalna do wymuszania ruchu HTTP do HTTPS w Twojej witrynie.
Powiązane samouczki Linux:
- Rzeczy do zainstalowania na Ubuntu 20.04
- Ubuntu 20.04 WordPress z instalacją Apache
- Ubuntu 20.04: WordPress z instalacją Nginx
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
- Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…
- Pobierz Linux
- Rzeczy do zainstalowania na Ubuntu 22.04
- Testowanie klientów HTTPS za pomocą OpenSSL do symulacji serwera
- Jak używać Nginx do przekierowania całego ruchu z HTTP do HTTPS