Nano-CMS с SSL сертификатом.

1) О HTTPS протоколе.

По утверждениям экспертов, больше половины всего трафика в Интернете сегодня под криптографией (трафик зашифрован). Соответственно, сейчас модно ставить свои сайты в HTTPS протокол, даруя им SSL сертификат. Главным побудительным мотивом выступают соображения SEO, так как Гугл повышает в поисковой выдаче "безопасные" сайты, и глумится над всеми остальными в своей адресной строке.

Скрипт Наны совершенно одинаково работает с протоколами HTTP и HTTPS.
Просто внесите адрес морды сайта в файл настроек нужным Вам образом.
В первом случае так (вариант А):

   'loc'     => array(
      
'base' => 'http://site.ru/',

во втором так (вариант Б):

   'loc'     => array(
      
'base' => 'https://site.ru/',

Этого достаточно.

2) Как заставить сайт работать сразу в двух протоколах?

Чтобы сайт не вывалился из индекса поисковой системы, и не потерял поисковый трафик во время миграции с HTTP протокола на HTTPS, рекомендуется не прописывать адрес морды сайта в файле настроек предопределённым образом, а варьировать его в зависимости от того, по какому протоколу к сайту обратились. Проще всего это сделать таким способом (Вариант В):

   'loc'     => array(
      
'base' => ((isset($_SERVER['HTTPS']) and 
                 (
$_SERVER['HTTPS']=='on' or $_SERVER['HTTPS']=='1')) ?
                   
'https://':
                   
'http://'
                
).'site.ru/',

3) Наоборот, как оставить только HTTPS протокол?

Наряду с пропиской морды сайта в файле настроек по варианту Б, придётся организовать принудительный редирект между протоколами, что проще всего делается силами .htaccess файла в корне скрипта. По умолчанию там такая запись:

RewriteEngine on
RewriteRule 
^.htaccess$ - [F]

RewriteRule ^(.+).htmindex.php
RewriteRule 
^(.*)/$ index.php

Ниже дописывается пара строк редиректа:

RewriteEngine on
RewriteRule 
^.htaccess$ - [F]

RewriteRule ^(.+).htmindex.php
RewriteRule 
^(.*)/$ index.php

RewriteCond 
%{HTTPSoff
RewriteRule 
(.*) https://%{HTTP_HOST}%{REQUEST_URI}

Возможно, эти две строки на Вашем хосте не заработают.
Придётся перебрать варианты.

Что делать с CSP политикой?

Действительно, имейте ввиду, CSP политика при работе сайта по HTTPS протоколу более строгая. И если в ней, к примеру, разрешена загрузка изображений со сторонннего сайта site.com, то придётся в CSP политике написать не просто домен стороннего сайта, а ещё и указать его протокол.

Например, это работает на сайте без SSL сертификата, но не работает с сертификатом:

   img-src datasite.com 'self';

А вот так работает в любом случае:

   img-src datahttp://site.com 'self';

При работе сразу в обоих протоколах, по «Варианту В», потребуется очевидным образом перечислить все способы обращения к изображениям:

   img-src datahttp://site.com/ https://site.com/ 'self';

Комментарии:

Здесь понятно, а как в ShopGold?

По поводу Наны с HTTPS и CSP всё понятно, за что спасибо.
А как и где в ShopGold настроить это дело?
Имеется ввиду в основном политика CSP. Где и как её там прописать? Ибо с партнерских сайтов тянутся картинки, и в адресной строке слетает зеленый замок.
Для обывателей появляется сомнение.

В самом ShopGold никакой CSP политики нет вообще.
Он не на движке Наны.

Что касается Продажной Наны, она по задумке должна сама корректировать базовую CSP политику по содержимому импортируемого HTML кода.

zloy62
31.12.2018 21:24