Jak przekierować swoją witrynę do HTTPS za balansem AWS

Jak przekierować swoją witrynę do HTTPS za balansem AWS

W instancjach AWS EC2, Twój serwer WWW słucha na porcie 80, aby zaakceptować połączenia HTTP. Następnie skonfigurowałeś balancer Amazon Elastic Load (ELB) do słuchania ruchu HTTP i HTTPS i przekazania wszystkich żądań do serwera zaplecza tylko na porcie 80. Amazon Elastic Load Balancer (Elb) obsługuje X-forwarded-Proto Wartość nagłówka, która obejmuje protokół aplikacji.

X-forwarded-Proto Wartość nagłówka żądania HTTP jest używana w tym samouczku, a reguły przepisywania są stosowane, jeśli protokół klienta nie jest HTTPS.

Oto jak wymusić przekierowanie do HTTPS za ELB AWS za pomocą serwerów Apache, Nginx lub IIS.

1. Apache

Dodanie reguły przekierowania HTTPS do swojego VirtualHost Apache lub .Plik HTACCESS to łatwy sposób na przekierowanie całego ruchu do Twojej witryny w celu korzystania z HTTPS. Możesz to zrobić, dodając następujący kod do swojego wirtualnegohostu lub .plik Htaccess:

RewriteEngine na przepisu %http: x-forwarded-prooto !HTTPS Rewriterule ^.*$ https: //%Server_name%request_uri
123 RewriteEngine na przepisu %http: x-forwarded-prooto !HTTPS Rewriterule ^.*$ https: //%Server_name%request_uri

Powyższy kod jest przykładem reguły przekierowania HTTPS, którą można dodać do .plik Htaccess. Po dodaniu tej reguły sprawdza, czy nagłówek X-forwarded-Proto nie jest ustawiony na HTTPS, a jeśli nie, przekierowuje cały ruch, aby używać HTTPS za pomocą zmiennych %server_name i %request_uri. Jest to przydatne w scenariuszach, w których strona internetowa stoi za równowagą obciążenia lub proxy, a nagłówek X-forward-Proto jest używany do przekazywania informacji o protokole klienta na serwerze. Dodając ten kod do twojego .Plik HTACCESS, cały ruch na Twojej stronie zostanie przekierowany w celu korzystania z HTTPS, upewniając się, że Twoja witryna jest bezpieczna i zaszyfrowana.

2. Nginx

Edytuj blok serwera Nginx HTTP dla Twojej domeny, aby skonfigurować przekierowanie siły. Dodaj następującą zawartość w bloku lokalizacji, aby przekierować cały ruch HTTP do HTTPS.

lokalizacja / if ($ http_x_forwarded_proto != 'https') rewrite ^ https: // $ host $ request_uri? stały;
1234 lokalizacja / if ($ http_x_forwarded_proto != 'https') rewrite ^ https: // $ host $ request_uri? stały;

Powyższa konfiguracja Nginx jest przykładem reguły przekierowania HTTPS, którą można dodać do bloku lokalizacji w pliku konfiguracyjnym Nginx. Po dodaniu tej reguły sprawdza, czy nagłówek X-forwarded-Proto nie jest ustawiony na HTTPS, a jeśli nie, używa dyrektywy Rewrite, aby przekierować cały ruch, aby używać HTTPS za pomocą zmiennych $ host i $ request_uri. Instrukcja IF jest używana do sprawdzenia zmiennej HTTP_X_FORARWED_PROTO, która jest ustawiona na HTTPS, gdy połączenie jest bezpieczne. Dodając ten kod do pliku konfiguracyjnego Nginx, cały ruch w Twojej witrynie zostanie przekierowany w celu korzystania z HTTPS, upewniając się, że Twoja witryna jest bezpieczna i zaszyfrowana.

3. IIS

Serwery systemu Windows z serwerem WWW IIS edytuj lub tworz sieć.konfigurator Złóż i dodaj następujący kod w sekcji:

1234567891011

Wniosek

Postępując zgodnie z tymi czterema krokami, możesz łatwo przekierować swoją witrynę do HTTPS za balansem ładunkowym AWS. Dzięki certyfikatowi SSL/TLS, konfiguracji równoważenia obciążenia, tworzeniu reguł przekierowania i aktualizacji rekordów DNS możesz upewnić się, że cały ruch na Twojej stronie jest szyfrowany i bezpieczny.