Перейти к содержанию
Форум поддержки пользователей VamShop

Как настроить использование SSL?


Рекомендуемые сообщения

добрый день.

Подскажите, пытаюсь подключить SSL для 1.80. Установил в configure.php константу enable_ssl в true, прописал define('HTTPS_CATALOG_SERVER', 'https://www.мой_сайт.ru');

Сертификат установлен. В результате, при переходе, например, в личный кабинет шаблон разъезжается. Подскажите, может что-то еще надо править? На что обратить внимание?

 

Ссылка на сообщение
Поделиться на другие сайты

Попробуйте enable_ssl не трогать, а просто в опции где у Вас домен прописан, вместо http:// прописать https://

Хотя я сам не пробовал ssl, наугад говорю.

Дайте хоть ссылку на странице, где разъезжается шаблон, посмотрю.

Ссылка на сообщение
Поделиться на другие сайты

К сожалению ,проверяю на боевом сайте, т.к. сертификат привязан к домену, и оставить в таком виде не могу. Или есть како-то способ пробовать с сертификатом не на этом домене?

ЗЫ: в принципе ,можно и сейчас посмотреть по адресу: https://cremiki.ru/shopping_cart.php

Вот скриншот ,что происходит.

 

2016-02-16 20-58-00 Скриншот экрана.png

Ссылка на сообщение
Поделиться на другие сайты

Судя по коду страницы, у Вас в base тэга указан http:// , а не https://

Поэтому и стили не грузятся.

Я ж говорю, попробуйте в /includes/configure.php опцию enable_ssl не трогать, а просто в файле заменить http://cremiki.ru на https://cremiki.ru

Ссылка на сообщение
Поделиться на другие сайты

Можно конечно и так попробовать ,как Вы предлагаете.

Проблема в этой строчке в файле includes/header.php

<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>" />

нет инициализации переменной $request_type. 

Ссылка на сообщение
Поделиться на другие сайты

Так попробуйте как я написал.

Всё равно ведь ENABLE_SSL опция не включит по всему магазину ssl

Ссылка на сообщение
Поделиться на другие сайты

 

  В 17.02.2016 в 09:57, VaM сказал:

Так попробуйте как я написал.

Всё равно ведь ENABLE_SSL опция не включит по всему магазину ssl

Expand  

Как Вы предложили вроде как работает. Но я не хотел бы весь магазин закрывать. как тогда со ссылками, которые на http прописаны, с индексацией поисковиками?

Я думал как раз не индексируемую поисковиками часть сайта закрыть SSL (то ,что у Вас как раз в конф. файле прописано для ENABLE_SSL).

PS Кстати в файле vam_href_link.ink.php обнаружил такой кусок кода

         if ($connection == 'SSL' && ENABLE_SSL == 'true') {
            $link .= DIR_WS_HTTPS_CATALOG;
          } else {
            $link .= DIR_WS_CATALOG;
          }

А константы такой DIR_WS_HTTPS_CATALOG нет , не определена нигде. Может в этом еще дело?

Ссылка на сообщение
Поделиться на другие сайты

Со временем всё на ssl перейдёт, когда поисоковик обойдёт сайт.

Либо можно в .htaccess редирект прописать.

В /includes/configure.php смотрели?!

Все константы там, по идее.

Вообще не совсем ясно для чего Вам SSL нужен, Вы ж не принимаете платежи по карточкм прямо у себя на сайта.

Все модули оплаты сделаны с переходом на сайт платёжной системы, а уже сайт платёжной системы и так работает с импользованием SSL.

Ссылка на сообщение
Поделиться на другие сайты

Константу искал везде. Нету :). А SSL хочу закрыть создание аккаунта и оформление заказа.

Кстати ,локально - работает ,а на хостинге нет... Пока не понимаю ,в чем причина.

Ссылка на сообщение
Поделиться на другие сайты
  В 18.02.2016 в 06:16, VaM сказал:

Добавьте константу DIR_WS_HTTPS_CATALOG в /includes/configure.php рядом с DIR_WS_CATALOG

Expand  

Это как раз понятно что надо сделать. Не понятно, почему не возвращается на хостинге getenv('HTTPS') - в этом проблема ,поэтому и не меняется <base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>" /> . Жду, что поддержка скажет... Может что-то посоветуете?

Ссылка на сообщение
Поделиться на другие сайты

Может это устаревший код и он не работает в текущей версии php.

Напишите Вы в этом условии вместо $request_type == 'SSL' например ENABLE_SSSL == 'true'

Да и всё. Зачем Вы усложняете?!

 

Ссылка на сообщение
Поделиться на другие сайты
  В 18.02.2016 в 13:53, VaM сказал:

Может это устаревший код и он не работает в текущей версии php.

Напишите Вы в этом условии вместо $request_type == 'SSL' например ENABLE_SSSL == 'true'

Да и всё. Зачем Вы усложняете?!

 

Expand  

Если сделать так ,то все страницы будут https://

Вот что мне поддержка хостинга написала:

По факту, getenv получает значение переменной окружения и тут всё зависит от того какие именно переменные вам передаёт окружение. В denver есть указанная вами переменная, в нашем окружении с apache её нет, в другом окружении всё так же может быть по другому. В данном случае проще будет всё же изменить код под окружение, мы можем пройтись по всему коду автозаменой и заменить все вхождения getenv('HTTPS') на getenv('REQUEST_SCHEME').

Я посмотрел ,в движке очень много где используется обращение к getenv('HTTPS') и $_SERVER['HTTPS']. Получается, что используется не универсальная переменная окружения, а специфическая, где-то на хостинге она есть, а где-то ее нет?  

Ссылка на сообщение
Поделиться на другие сайты

Видимо, да, я ж говорю, в разных версиях php может меняться.

Попробуйте сделать как хостер Вам написал.

Ссылка на сообщение
Поделиться на другие сайты

в конфиг файлах поменяйте везде http на https

генерация http не понадобится , если у Вас используется SSL

 

не забудьте про вставку сторонних скриптов (если такие есть)

 

Ссылка на сообщение
Поделиться на другие сайты
  В 20.02.2016 в 17:03, KoVaLsKy сказал:

в конфиг файлах поменяйте везде http на https

генерация http не понадобится , если у Вас используется SSL

 

не забудьте про вставку сторонних скриптов (если такие есть)

 

Expand  

С проблемой разобрался. Вся сложность была в том ,что я хотел закрыть по SSL только:

1. Оформление заказа

2. Личный кабинет

3. Админку.

Встроенный механизм - не работал.

Что сделано:

1. Для закрытия админки поступил так как и советовали в конфиге заменил http на https

2. В файле header.php в каталоге admin сделал ссылку выхода в магазин по http

3. Во всех файлах, где встречается конструкция типа ENABLE_SSL == true заменил на ENABLE_SSL == 'true' (в админке эта константа другая ,но проблема та же)

4. Во всех проверках где встречается обращение к переменной окружения HTTPS добавил дополнительно проверку переменной REQUEST_SCHEMA на значение 'https' 

5. Обращение к внешним скриптам сделал по https

Вот основное. При включенном кэшировании есть проблема с переходом на защищенную часть сайта, не все ссылки обновляются с http на https.  

Ссылка на сообщение
Поделиться на другие сайты

Так а в чем соль весь сайт перевести было на https? От поисковиков бы ещё премиальные пирожки получили

Ссылка на сообщение
Поделиться на другие сайты
  • 11 months later...

кстати тем кто будет переезжать на SSL - обязательно надо будет редиректить на https, поэтому совет: я долго подбирал редирект с http на https - ничего не работало или работало криво, похоже возникали конфликты с существующими инструкциями htaccess поэтому постоянно получался бесконечный цикл, в итоге хостер посоветовал такой:

RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC]
RewriteRule ^([^/]+) $1 [L]
RewriteCond %{HTTP:X-SSL} !^yes$
RewriteRule (.*) https://site.ru/$1 [R=301,L]

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

ставим код сразу после

RewriteEngine On
RewriteBase /

чтобы не создавать новую тему спрошу здесь - после регистрации клиент попадает в пустую корзину, так и должно быть? Нет этого "поздравляем, вы зарегистрировались", может я где-то не настроил? А то не совсем понятно для клиента зарегистрировался или нет.

Ссылка на сообщение
Поделиться на другие сайты

Спасибо за код.

Да, попадает в корзину, отдельной страницы нет.

Разве что завести информационную страницу какую-то и перекидывать на неё, а не в корзину.

Добавил ссылку на Ваше собщение в faq про настройку SSL.

 

 

Ссылка на сообщение
Поделиться на другие сайты
  • 3 years later...

Здравствуйте, откорректировал все нужные файлы, но так и не могу попасть на сайт, пишет что слишком много раз сайт выполнил переадресацию, можете подсказать где смотреть?

2020-10-14_16-02-00.png

Ссылка на сообщение
Поделиться на другие сайты
  В 14.10.2020 в 11:52, ggg888 сказал:

Здравствуйте, откорректировал все нужные файлы, но так и не могу попасть на сайт, пишет что слишком много раз сайт выполнил переадресацию, можете подсказать где смотреть?

2020-10-14_16-02-00.png

Expand  

Редирект значит не подходит для Вашего сайта.

В .htaccess попробуйте другой вариант редиректа, вот тут примеры разные - https://www.reg.ru/support/hosting-i-servery/sajty-i-domeny/kak-dobavit-redirekt/redirekt-s-http-na-https

Ссылка на сообщение
Поделиться на другие сайты

Помог вот этот редирект

ставим код сразу после

RewriteEngine On
RewriteBase /

RewriteCond %{HTTPS} =on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...