HTTPS Everywhere
Пятница, 12 декабря 2014

В том числе и у меня. Я сделал то, что нужно было сделать уже давно, — добавил поддержку шифрования на сайт, то есть https. Более того, при попытке запросить обычную страницу, сервер перенаправляет на её защищённую версию. Теперь никто не сможет вмешиваться в трафик между блогом и браузером. А ещё поисковики обещают добавлять дополнительный вес результатам с сайтов с поддержкой шифрования. Так что одни плюсы.

Самая большая проблема с включением https — необходимость обзавестись сертификатом, который будет подтверждать что вы — это вы. А сертификаты стоят денег. Например, у Thawte — довольно известной фирмы — цены начинаются от $149 в год, DigiCert — от $175, Symantec (бывший VeriSign) — $399. Варианты подешевле: RapidSSL за $49 и Comodo SSL за $64.95. На самом деле вариантов гораздо больше, если интересно, то несложно найти и сайты сравнения.

В данный момент разрабатывается инициатива по бесплатному предоставлению сертификатов, называется Let’s encrypt. В ней участвуют такие известные компании как Mozilla, Cisco и Akamai. Надеюсь, в скором времени они достигнут цели и с шифрованием трафика дела улучшатся. А пока…

А пока независимые разработчики могут получить бесплатный сертификат, например, у StartSSL. Отдельно стоит упомянуть процесс валидации домена. Чтобы StartSSL признал тебя владельцем домена, ты должен владеть одним из 3-х почтовых ящиков на этом домене: postmaster@, hostmaster@ или webmaster@. Стоит позаботиться об этом заранее, чтобы потом не было сюрпризом.

И ещё одна внезапно возникшая проблема — выданный сертификат использует промежуточные звенья, так называемые Intermediate Certificate. Не все браузеры умеют правильно их получать, Firefox, к примеру, один из таких браузеров. Чтобы всё заработало правильно, сервер должен также отдавать необходимые промежуточные сертификаты, то есть недостаточно указать два файла .key и .crt, чтобы всё заработало. Поэтому берём все выданные нам сертификаты и склеиваем их в порядке к корневому.

cat ssl.crt sub.class1.server.ca.pem ca.pem > sslchain.crt

В результате получим сертификат, который будут принимать все браузеры.

P.S. HTTPS Everywhere — это, вообще говоря, расширение для браузера, которое автоматически перенаправляет на https-версию сайта, если такая существует. Всё для вашей приватности и безопасности, так сказать. Рекомендую.

← Гамарджоба, Грузия: часть втораяЯндекс.Браузер →