Jak przekierować swoją witrynę do HTTPS za balansem AWS
- 1897
- 151
- Natan Cholewa
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_uri123 | 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.
- « Jak zainstalować dodatki gości VirtualBox na Fedora 29-25, Centos 7/6
- Jak opublikować dane JSON za pomocą PHP Curl »