Деньги, как известно, имеют различные функции. Одной из них является непрестанное движение денег в обращении, обслуживание процесса обращения. Без выполнения деньгами этой функции торговля была бы невозможна.

Jak przełączyć się z http na https?

  1. Po co używać https i co oznacza bezpieczeństwo?
  2. Zdobycie certyfikatu
  3. Rodzaje certyfikatów
  4. Wildcard SSL
  5. Certyfikaty SSL dla wielu domen
  6. Certyfikaty EV (Extended Validation)
  7. Certyfikaty ze wsparciem IDN
  8. Uzyskiwanie certyfikatu
  9. Ustawienie witryny
  10. Tag <Base />
  11. Rel tag = „kanoniczny”
  12. Przekierowanie 301 z http na https
  13. Plik Robots.txt
  14. Przenoszenie witryny w panelu webmasterów Yandex i Google
  15. Webmaster Yandex
  16. Webmasters Center Google
  17. Przełącz się na HTTPS w Joomla
  18. Błąd podczas przełączania na Https w Joomla
  19. Przełącz na HTTPS w WordPress

Cześć wszystkim! W tym artykule omówimy temat bezpieczeństwa, a mianowicie protokół bezpiecznego przesyłania danych - https. Jeśli zauważyłeś mojego bloga, na którym pracujesz teraz nad protokołem https, który niedawno przełączyłem. Ponadto na https przetłumaczyłem jedną z moich witryn klienta. Musiałem trochę majstrować i denerwować się, ale w końcu wszystko się skończyło. Pomyślałem, że trzeba napisać o tym na blogu - jak przejść z http na https jest bezbolesne dla strony, zwłaszcza że uważam ten temat za popularny, ponieważ Obecnie coraz więcej witryn przełącza się na https.

Co skłoniło mnie do przejścia na protokół https? Ostatnio zacząłem dostrzegać takie nagłówki: przeglądarka Mozilla Firefox w krótkim czasie przestańcie wspierać niebezpieczne połączenia http; Rząd USA zlecił wszystkie witryny publiczne przechodzą do https; Od stycznia 2017 r. Wszystkie witryny przesyłające poufne dane (hasła, numery kart kredytowych itp.) Przez niezabezpieczone połączenie w przeglądarce Google Chrome zostaną oznaczone jako niebezpieczne. Poza tym gdzieś w Internecie przeczytałem, że wkrótce wszystkie witryny będą musiały bez problemu przełączyć się na protokół https. Myślałem, że pewnego dnia los spotka mnie. Więc po co ciągnąć? Zwłaszcza hosting beget.ru w którym siedzę pod warunkiem, że mogę kupić bezpłatne certyfikaty SSL. Ogólnie zebrałem wszystkie niezbędne informacje na temat przełączania się z HTTP na HTTPS i zrobiłem to. 🙂

Struktura artykułu

Po co używać https i co oznacza bezpieczeństwo?

Krótko mówiąc, protokół https umożliwia wysyłanie żądań do serwera z naszej witryny w postaci zaszyfrowanej, zapewniając jednocześnie, że te same dane nie zostaną przechwycone przez hakerów. Elementarnym przykładem przesyłanych danych jest autoryzacja na stronie (lub rejestracja). W procesie autoryzacji wysyłamy żądanie do serwera, które zawiera login i hasło. Jeśli więc wyślesz te dane przez niezabezpieczone połączenie, można je łatwo przechwycić, co może skutkować włamaniem do witryny. Protokół https zapewnia certyfikaty SSL. Są różnego rodzaju, przeczytaj o rodzajach certyfikatów poniżej.

Postanowiłem podzielić cały proces na kroki i wykonać je w tej kolejności. Poniżej przedstawiam zalecenia dotyczące przejścia na popularne cms Joomla i WordPress. Każdy ma swoje własne cechy.

Zdobycie certyfikatu

Najpierw musisz kupić certyfikat SSL, aby uzyskać dostęp do witryny za pomocą protokołów http i https. Najpierw wyjaśnijmy typy certyfikatów SSL.

Rodzaje certyfikatów

Proste certyfikaty

Takie certyfikaty są wydawane dla jednej lub kilku domen i są odpowiednie zarówno dla osób fizycznych, jak i osób prawnych. Z reguły wydawanie takich certyfikatów nie zajmuje dużo czasu, można je nawet zwolnić w ciągu 5 minut. Aby uzyskać taki certyfikat, wystarczy sprawdzić członkostwo w domenie osoby, która tego wymaga.

Wildcard SSL

Wildcard SSL - idealny dla witryn z subdomenami. W tym przypadku wystarczy wydać jeden certyfikat, który będzie działał na wszystkich subdomenach i pozwoli zaoszczędzić pieniądze na zakupie poszczególnych certyfikatów.

Certyfikaty SSL dla wielu domen

Certyfikat SSL dla wielu domen - certyfikat, który może obsługiwać wiele domen jednocześnie. Podobnie jak Wildcard pozwoli zaoszczędzić pieniądze. Pamiętaj więc, że jeśli Twoja firma lub projekt ma kilka nazw domen, wybierz certyfikat wielodomenowy.

Certyfikaty EV (Extended Validation)

EV (Extended Validation) - rozszerzona weryfikacja firmy. Ten typ certyfikatu może pozwolić sobie na zakup tylko dużych firm. Aby go uzyskać, musisz podać wszystkie szczegółowe informacje o firmie - nazwę organizacji, szczegóły, dostępność rejestracji państwowej, rzeczywiste wezwania do zatwierdzenia otrzymanych danych i wiele więcej. Tak, uzyskanie tego typu certyfikatu jest kłopotliwe, ale uważam, że warto. Ponadto obok paska adresu w przeglądarce zostanie wyświetlona nazwa firmy. Oto jak to wygląda na przykładzie strony Sberbanku.

Wygląda fajnie i zwiększa zaufanie potencjalnego klienta. Dlatego właścicielom dużych firm zaleca się wystawianie certyfikatów EV.

Certyfikaty ze wsparciem IDN

Nie wszystkie certyfikaty obsługują domeny cyrylicy. Jeśli masz domenę cyrylicy w strefie Federacji Rosyjskiej, powinieneś kupić certyfikat ze wsparciem IDN.

Więcej informacji na temat typów certyfikatów i ich wartości można przeczytać w Internecie. Przytoczyłem tylko kilka, więc masz pomysł, że certyfikaty SSL są różne.

Uzyskiwanie certyfikatu

Dzisiaj możesz zakupić certyfikat SSL dla witryny całkowicie za darmo. Dawno temu Google stwierdził że nadszedł czas, aby przenieść wszystkich do bezpiecznej punkcji https, a ranking zostanie przyznany witrynom z bezpiecznym połączeniem. Nawiasem mówiąc, to kolejny powód, dla którego przełączyłem się na https. Ogólnie rzecz biorąc, w związku z tym nazwano projekt Szyfrujmy . Przede wszystkim projekt ten ma na celu dostępność akwizycji certyfikatu SSL, a także ułatwia życie zwykłym twórcom stron internetowych do instalowania certyfikatów (generowanie kluczy prywatnych itp.). A co najważniejsze, certyfikaty wydane przez Let's Encrypt są całkowicie bezpłatne . Osobiście mój blog jest dokładnie takim certyfikatem.

Otrzymałem certyfikat SSL z Let's Encrypt w panelu sterowania beget.ru. Jeśli korzystasz z tego hostingu, łatwo go zdobyć. Przejdź do panelu sterowania BeGet, a następnie przejdź do sekcji „ Domeny ” i kliknij ikonę SSL na liście domen.

Przejdź do panelu sterowania BeGet, a następnie przejdź do sekcji „ Domeny ” i kliknij ikonę SSL na liście domen

Ikona obok domeny wskazuje, że certyfikat jest już zainstalowany. W sekcji SSL otwórz kartę „ Darmowy certyfikat SSL ”. Jeśli masz poddomeny w wybranej domenie, lepiej jest je natychmiast wybrać, ponieważ jeśli nie zostanie to zrobione natychmiast, w przyszłości konieczne będzie ponowne wystawienie certyfikatu.

Jeśli masz poddomeny w wybranej domenie, lepiej jest je natychmiast wybrać, ponieważ  jeśli nie zostanie to zrobione natychmiast, w przyszłości konieczne będzie ponowne wystawienie certyfikatu

Ustawienie witryny

Zasoby do pobrania

Aby przetłumaczyć witrynę na HTTPS, musisz dokonać pewnych ustawień na stronie, dotyczy to zasobów do pobrania. Przez zasoby rozumiemy skrypty, style, obrazy, audio, wideo, tj. wszystkie te zasoby, które są ładowane przez przeglądarkę z Twojej witryny za pomocą protokołu http. Istnieją adresy względne i bezwzględne. Czym się różnią?

Adres względny:

/image.jpg

Względny adres bez względu na protokół:

//sitename.ru/image.jpg

Adres bezwzględny:

http://sitename.ru/image.jpg

Adres bezwzględny wskazuje nazwę domeny witryny wraz z protokołem. Tak więc, przełączając się na https, konieczne jest użycie adresów względnych niezależnie od protokołu, tj. odcięcie samego protokołu. Dzięki takiemu podejściu zasoby będą pobierane przy użyciu tego samego protokołu, co Twój i niezależnie od tego, czy jest to http czy https. Jedynym warunkiem jest to, że jeśli pobierasz zasoby z zewnętrznych stron (na przykład z CDN), te witryny muszą być dostępne za pośrednictwem https, w przeciwnym razie będą musiały zostać porzucone.

Na przykład ładowanie biblioteki jQuery z CDN ze wsparciem https byłoby następujące:

<script src = "// code.jquery.com/jquery-1.12.4.min.js"> </ script>

Opcjonalnie możesz po prostu określić wszystkie bezwzględne łącza za pomocą protokołu https (na przykład w WordPressie).

Tag <Base />

Pamiętaj, że jeśli użyjesz tagu <base> z adresem strony na stronie, upewnij się, że adres jest określony za pomocą protokołu https. Na przykład <base href = "https://zaurmag.ru" />. Ten znacznik nie jest obowiązkowy, ale mimo to, jeśli jest używany w cms, spróbuj go naprawić w przypadku czegokolwiek. Znajduje się na samym początku sekcji <head>. Jeśli okaże się, że zmieniłeś wszystkie linki na względne, niezależnie od protokołu (//sitename.ru), a tag <base> zawiera adres z http, wtedy wszystkie odnośniki względne będą uważane za względne, w zależności od protokołu http. W rezultacie w konsoli przeglądarki otrzymasz mnóstwo błędów, a projekt będzie się unosił na stronie.

Rel tag = „kanoniczny”

Jeśli używasz znacznika rel = "canonical" w swojej witrynie, upewnij się, że kanoniczny adres strony w tym znaczniku jest bezwzględny przy określonym protokole https. W przeciwnym razie, jeśli jest http, będzie działać tylko na niekorzyść.

Przekierowanie 301 z http na https

Aby nie stracić ruchu, musimy to zrobić, aby po wejściu użytkownika na stronę za pośrednictwem protokołu http był on automatycznie przesyłany do https. Łączenie serwerów lustrzanych i ponowne indeksowanie witryny w wyszukiwarkach to sprawa długa (Google naprawdę szybko reaguje, więc musisz czekać z Yandex), więc przekierowania 301 mogą przyspieszyć ten biznes i zapobiec utracie ruchu. Aby to zrobić, musisz dodać tylko dwa wiersze do pliku .htaccess:

RewriteCond% {SERVER_PORT}! ^ 443 $ RewriteRule ^ (. *) $ Https://sitename.ru/$1 [R = 301, L]

Te dwie linie powinny wystarczyć. Jeśli masz problemy z przekierowaniem, możesz spróbować alternatywnego kodu.

RewriteEngine On # Jeśli ta linia nie jest powyżej RewriteCond% {HTTP: X-Forwarded-Protocol}! = Https RewriteRule. * Https: //% {SERVER_NAME}% {REQUEST_URI} [R = 301, L]

A oto kolejny kod przekierowania. Zdarzyło mi się, że powyższe dwa kody nie zadziałały. Tylko to pomogło.

RewriteEngine On RewriteCond% {HTTPS} off RewriteCond% {HTTP: X-Forwarded-Proto}! Https RewriteRule ^ (. *) $ Https: //% {HTTP_HOST}% {REQUEST_URI} [L, R = 301]

Jeśli to nie pomoże, musisz skontaktować się z serwisem hostingowym, który powinien pomóc w rozwiązaniu tego problemu.

Radzę również dodać kod, który przeniesie przekierowania 301 na stronę www lub bez www, w zależności od domeny, którą wybrałeś jako główną.

## przekierowanie z bez www na www: RewriteCond% {HTTP_HOST} ^ sitename.ru $ [NC] RewriteRule ^ (. *) $ https: //www.sitename/$1 [R = 301, L] ## przekierowanie z www on bez www: RewriteCond% {HTTP_HOST} ^ www.sitename.ru $ [NC] RewriteRule ^ (. *) $ https://sitename.ru/$1 [R = 301, L]

Plik Robots.txt

W robots.txt zdecydowanie musimy określić główne lustro za pomocą protokołu https. Podaj również link do mapy strony za pomocą protokołu https. Oto, co zrobiłem na moim blogu:

Host: https://zaurmag.ru Mapa strony: https://zaurmag.ru/sitemap.xml

Przenoszenie witryny w panelu webmasterów Yandex i Google

Po wykonaniu powyższych czynności musimy poinformować wyszukiwarki, że witryna przeszła na nowy protokół https. Jak wiadomo, adres z http i https to absolutnie dwa różne adresy w oczach wyszukiwarek.

Webmaster Yandex

Aby przenieść witrynę do Yandex, przejdź do panelu Yandex Webmaster pod adresem https://webmaster.yandex.ru . Wybieramy naszą stronę internetową iw sekcji „ Konfigurowanie indeksowania ” wchodzimy do naszej domeny i zaznaczamy pole wyboru „ Dodaj HTTPS ”, zapisz.

Następnie przejdź do sekcji „ Konfigurowanie indeksowania ” -> „ Pliki map witryn ” i dodaj adres mapy witryny za pomocą protokołu https. Ten adres, jeśli pamiętasz, wskazaliśmy w pliku robots.txt.

Webmasters Center Google

Dzięki rozwiązaniu Yandex przejdźmy teraz do Google. Idziemy do centrum webmasterów Google - https://www.google.com/webmasters i dodaj wszystkie wersje (mirrory) witryny. Powinno być w sumie 4. Na przykład dla mojego bloga dodałem:

http://zaurmag.ru https://zaurmag.ru http://www.zaurmag.ru https://www.zaurmag.ru

ru

Następnie wybierz lustro główne za pomocą https w sposób naturalny, tylko za pomocą www lub bez www. Na moją stronę wybrałem bez www - https://zaurmag.ru . Otwórz stronę iw ustawieniach witryny (kliknij na sprzęt po prawej stronie) wskazujemy domenę główną. Oto przykład mojego bloga.

Oto przykład mojego bloga

Następnie określ adres mapy witryny. Aby to zrobić, przejdź do „ Skanuj ” -> „ Mapa witryny ” i dodaj adres mapy witryny, klikając czerwony przycisk po prawej stronie. Przy okazji, podczas pisania artykułu odkryłem, że nie dodałem mapy strony dla głównej domeny witryny zaurmag.ru. 🙂

🙂

Cóż, to wszystko. Jeśli zrobiłeś wszystko dobrze, to w przeglądarce obok paska adresu powinien być zielony zamek. Chciałbym zauważyć, że jeśli przynajmniej jeden zasób zostanie załadowany przez niezabezpieczony protokół, nie zobaczysz zielonego zamka, pojawi się szary wykrzyknik. Możesz śledzić pobieranie wszystkich zasobów konsola przeglądarki .

Możesz śledzić pobieranie wszystkich zasobów   konsola przeglądarki

Chciałbym również powiedzieć, że proces ponownego indeksowania do Google zajmuje niewiele czasu, wystarczy około 2 tygodni, a może mniej. Tutaj w Yandex jest z tym trudniej, nie jestem zaskoczony. Yandex zawsze był pod tym względem napięty. Na początku twój TIC zostanie zresetowany do zera, jeśli go posiadasz, a pierwsza aktualizacja TIC będzie musiała zostać zwrócona. Napisałem to, abyście się nie bali. Cóż, w Yandex Webmaster znajdziesz następujące zdjęcie ...

Cóż, w Yandex Webmaster znajdziesz następujące zdjęcie

Po przejściu na https zajęło sporo czasu i, jak widać na zrzucie ekranu, nie wszystkie strony przełączają się na https. Co mogę powiedzieć, tak zorganizowana krajowa wyszukiwarka.

Żagiel słów o Yandex Metric. Jeśli zainstalowałeś kod Yandex, będziesz musiał ponownie dodać stronę za pomocą protokołu https w panelu metryk.

Przełącz się na HTTPS w Joomla

Zaktualizowano - 15/15/2016

W najnowszych wersjach Joomla z przejściem na https nie powinno być problemu. Dodanie dyrektyw przekierowania do pliku .htaccess nie jest konieczne, silnik zostanie przeniesiony z http na sam https. Aby to zrobić, wystarczy włączyć opcję w ogólnych ustawieniach Joomla - „ Serwer ” -> „ Włącz SSL ” -> „Cała strona” .

To ważne! Włącz tę opcję dokładnie wtedy, gdy masz pewność, że certyfikat jest już zainstalowany, a witryna jest dostępna za pośrednictwem protokołu Https.

Błąd podczas przełączania na Https w Joomla

Kiedy już miałem trochę pracy, na jednej ze stron klienta przejście na https nie było tak płynne. Przeglądarka przeklinała względne adresy zasobów do pobrania, chociaż adresy zostały określone względnie niezależnie od protokołu. Problem był w tagu <base />. Powiedzmy po kolei.

Oprócz ustawień witryny wskazanej powyżej, musimy otworzyć plik configuration.php i wprowadzić adres bezwzględny za pomocą punkcji https w polu live_site .

public $ live_site = 'https://sitename.ru';

Teoretycznie po tym ustawieniu znacznik <base /> witryny powinien zostać określony za pomocą protokołu https. Ale nie, został określony za pomocą protokołu http, z którego wyszły wszystkie błędy. Znalazłem rozwiązanie problemu w Internecie, szczególnie na forum joomlaforum.ru i znalazłem rozwiązanie. Konieczne było dokonanie jakiegoś włamania do jądra, jednak zapewnili, że po aktualizacji te zmiany nie zostaną utracone. Otwórz plik - /libraries/joomla/document/renderer/html/head.php i zastąp go (linia 77)

$ buffer. = $ tab. '<base href = "'. $ base. '" />'. $ lnEnd;

na

$ buffer. = $ tab. '<base href = "'. Juri :: base (). '" />'. $ lnEnd;

Powiem od razu, że po aktualizacji silnika zmiany są nadal nadpisywane i po każdej aktualizacji trzeba będzie wprowadzić zmiany w powyższym pliku.

Do tej pory nie rozwiązałem tego problemu. Nie rozumiem, dlaczego tak się dzieje - najnowsza wersja silnika.

Po tych czynnościach wszystko wróciło do normy. Również w ogólnych ustawieniach Joomla włączono SSL. Jego włączenie doprowadziło do niemożności działania witryny. Jeśli nagle wybrałeś opcję „ Cała strona ”, a strona przestała działać, musisz otworzyć plik configuration.php w Ftp, znaleźć $ force_ssl i ustawić wartość na 0.

public $ force_ssl = '0';

Następnie strona będzie działać.

Przełącz na HTTPS w WordPress

Zasadniczo nie są wymagane żadne dodatkowe działania, aby przejść do https w WordPress, oprócz tych wymienionych powyżej. Jedyne, co musisz zmienić, to zmienić adres strony na https w ogólnych ustawieniach WordPress. Ale to ustawienie musi być wykonane tylko po zakupie certyfikatu SSL, gdy twoja domena będzie dostępna za pośrednictwem protokołu https, w przeciwnym razie nie będziesz w stanie dostać się do obszaru administracyjnego.

Pożądane jest również wykonanie kopii zapasowej witryny na wszelki wypadek. Prostą rzeczą jest to, że w WordPressie wszystkie adresy są przechowywane w bazie danych w formie bezwzględnej. Po zmianie ustawień witryny wszystkie adresy powinny się zmienić w bazie danych. Dlatego, jeśli coś pójdzie nie tak, zrób kopię zapasową.

Na tym zakończę. Dziękuję wszystkim za uwagę. Zapraszam do zadawania pytań w komentarzach.

Sprawdzanie pisowni

Po co używać https i co oznacza bezpieczeństwo?
Co skłoniło mnie do przejścia na protokół https?
Więc po co ciągnąć?
Czym się różnią?