Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Настройка SSL на Opencart 2.3.0.2


Recommended Posts

Добрый день, уважаемые!
 

Столкнулся с проблемой установки и настройки SSL-сертификата на Opencart Версии 2.3.0.2 (rs.5)

Сразу скажу, что это мой первый опыт по установке и настройке SSL-сертификата, так что сильно не пинайте)
 

Хотелось бы чтобы на всех страницах работал сертификат.

После многих прочитанных форумов, где всё аналогично считай, и попыток выполнить настройки по рекомендациям подобной проблемы - ничего не получилось.
Буду очень признателен, если Вы поможете мне побороть данную беду)

Что имеем:

Сайт: http://hlebzavod3.ru
Движок Opencart, Версия 2.3.0.2 (rs.5)

Купленный SSL-сертификат, тип - Thawte SSLWebServer.
Сертификат установлен и включен на хостинге и привязан на имена: www.hlebzavod3.ru, hlebzavod3.ru

Хостер: RU-CENTER

 

Что выполнялось:
Изменение файла config.php в корне сайта:

// HTTP
define('HTTP_SERVER', 'http://hlebzavod3.ru/');

// HTTPS
define('HTTPS_SERVER', 'https://hlebzavod3.ru/');

Изменение файла config.php в папке "admin":

// HTTP
define('HTTP_SERVER', 'http://hlebzavod3.ru/admin/');
define('HTTP_CATALOG', 'http://hlebzavod3.ru/');

// HTTPS
define('HTTPS_SERVER', 'https://hlebzavod3.ru/admin/');
define('HTTPS_CATALOG', 'https://hlebzavod3.ru/');

Установка модуля HTTPS Fix для Opencart v2.X

На редирект с HTTP на HTTPS хостер даёт следующее:

RewriteEngine on
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Тут я не уверен, но вставил его в .htaccess после строк ниже:

RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L]
RewriteRule ^system/download/(.*) index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

Включил использование SSL в админке сайта.

Очистил кэш.

 

После этого при попытке зайти на сайт по HTTP, он перекидывает на HTTPS, но сайт недоступен, выдавая следующее:

Браузер Опера:

"Не удается получить доступ к сайту

Веб-страница по адресу https://hlebzavod3.ru/, возможно, временно недоступна или постоянно перемещена по новому адресу."

 

Браузер Chrome:

"Не удается получить доступ к сайту

Веб-страница по адресу https://hlebzavod3.ru/, возможно, временно недоступна или постоянно перемещена по новому адресу.

ERR_SSL_UNRECOGNIZED_NAME_ALERT"

При попытке попасть в админ-панель, такая же беда.

 

Пробую прописать в двух конфигах везде HTTPS вместо HTTP - такая же беда.
Удаляю в .htaccess данные хостера для редиректа: заходит по HTTP на главную страницу сайта, все стили CSS и пикчи пропадают, оставив только текст и пустые квадраты.
При этом, в таком виде, если перейти по внутренней ссылке, то перекидывает на HTTPS и страница так же недоступна.

 

Так же пробовал менять значение false на true в файле url.php, что находится в system/library.
Содержание файла url.php:

<?php
class Url {
	private $url;
	private $ssl;
	private $rewrite = array();

	public function __construct($url, $ssl = '') {
		$this->url = $url;
		$this->ssl = $ssl;
	}
	
	public function addRewrite($rewrite) {
		$this->rewrite[] = $rewrite;
	}

	public function link($route, $args = '', $secure = false) {
		if ($this->ssl && $secure) {
			$url = $this->ssl . 'index.php?route=' . $route;
		} else {
			$url = $this->url . 'index.php?route=' . $route;
		}
		
		if ($args) {
			if (is_array($args)) {
				$url .= '&amp;' . http_build_query($args);
			} else {
				$url .= str_replace('&', '&amp;', '&' . ltrim($args, '&'));
			}
		}
		
		foreach ($this->rewrite as $rewrite) {
			$url = $rewrite->rewrite($url);
		}
		
		return $url; 
	}
}

Куда ещё копать и как пробовать, понятия не имею.

Надіслати
Поділитися на інших сайтах


Matvei, увы, но не помогло.

Ваш код я вставил в .htaccess, при этом заменив в коде site на свой (hlebzavod3).
Пробовал зайти на сайт с конфигами HTTP = HTTP, HTTPS = HTTPS - пишет так же что сайт https://hlebzavod3.ru/ недоступен.

Прописал в конфигах везде HTTPS - такая же проблема.

Надіслати
Поділитися на інших сайтах


Для начала возвращайте файлы и убирайте свои правки.Магазин должен заработать.Что бы не искать подходящую вам конфигурацию правок для редиректа,напишите в тех поддержку хостинга,это ускорит решение задачи.Ну или вот вам ещё вариант(после того как вернёте родной htaccess).

 

После 

RewriteBase /

 

Добавьте
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP:X-Forwarded-Proto} =http [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} =""
RewriteCond %{HTTP:X-HTTPS} !1 [OR]
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !robots\.txt
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

 

Здесь две переадресации с WWW на без WWW и с http на https

 

  • +1 1
Надіслати
Поділитися на інших сайтах

У меня на тестовых сайтах так работает:

# Redirect www -> not www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

# Redirect http -> https
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

 

  • +1 2
Надіслати
Поділитися на інших сайтах

У меня была аналогичная проблема. Ещё при установке на подключались файлы CSS (в коде страницы было<base href ="http://... а должно быть https)

Написал в ТП хостера (REG.RU) - они быстро всё исправили и сами установили магазин.

Ни каких объяснений не дали - значит проблема на стороне хостера.

Но они исправили в config.php

// HTTP
define('HTTP_SERVER', 'https://...

// HTTPS
define('HTTPS_SERVER', 'https://...

и в папке "admin" тоже

// HTTP
define('HTTP_SERVER', 'https://...
define('HTTP_CATALOG', 'https://...

// HTTPS
define('HTTPS_SERVER', 'https://...
define('HTTPS_CATALOG', 'https://...

Змінено користувачем MasterCHERRY
Надіслати
Поділитися на інших сайтах


10 минут назад, MasterCHERRY сказал:

Ни каких объяснений не дали - значит проблема на стороне хостера.

Но они исправили в config.php

// HTTP
define('HTTP_SERVER', 'https://..

 

Вряд ли что-то делали на стороне хостинга. Думаю, ограничились исправлением.

Надіслати
Поділитися на інших сайтах


  • 6 months later...
В 15.06.2017 в 17:09, Tom сказал:

Для начала возвращайте файлы и убирайте свои правки.Магазин должен заработать.Что бы не искать подходящую вам конфигурацию правок для редиректа,напишите в тех поддержку хостинга,это ускорит решение задачи.Ну или вот вам ещё вариант(после того как вернёте родной htaccess).

 

После 

RewriteBase /

 

Добавьте
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP:X-Forwarded-Proto} =http [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} =""
RewriteCond %{HTTP:X-HTTPS} !1 [OR]
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !robots\.txt
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

 

Здесь две переадресации с WWW на без WWW и с http на https

 

использовал этот ридирект, но в браузерной строке неичезло предупреждение о загрузки непровереных сертификатов, только на главной станице так https://samozamesrus.ru/

Надіслати
Поділитися на інших сайтах


  • 4 weeks later...

У меня в админке слетает верстка. Конфиги сменил, ссл выставил, на хостинг залил сертификат. Для хассет правило прописываю или  ставлю у хостера автоматическую переадресацию - Внешка работает.

В коде base переводиться на https.

OCStore 2.3.0.2

Что за проблема с админчастью? При чем, если прописать в адресе http вместо https, то все станет на места, до перезагрузки страницы, изменения вносимые в таком состоянии сохраняются.

Может кто сталкивался? 

Змінено користувачем AkageMik
Исправил грамматику
Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

Аналогичная проблема. Сделал редирект c www на без www и подключил SSL-сертификат.

В результате, перестала работать корзина, личный кабинет покупателя на сайте, а так же Яндекс не обнаружил Sitemap и Robots, а 404 выдает 200

 

Хостинг Timeweb

OpenCart 1.5

 

.htaccess

RewriteEngine On
RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L]
RewriteRule ^system/download/(.*) index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

Tom, насколько помню, вы автор шаблона ocmarket, может вы сможете понять в чем тут дело?

 

Змінено користувачем Sergey36
Надіслати
Поділитися на інших сайтах


В 15.06.2017 в 17:09, Tom сказал:

Для начала возвращайте файлы и убирайте свои правки.Магазин должен заработать.Что бы не искать подходящую вам конфигурацию правок для редиректа,напишите в тех поддержку хостинга,это ускорит решение задачи.Ну или вот вам ещё вариант(после того как вернёте родной htaccess).

 

После 

RewriteBase /

 

Добавьте
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP:X-Forwarded-Proto} =http [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} =""
RewriteCond %{HTTP:X-HTTPS} !1 [OR]
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !robots\.txt
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

 

Здесь две переадресации с WWW на без WWW и с http на https

 

Том спасибо за инструкцию , все получилось.

Надіслати
Поділитися на інших сайтах


  • 2 months later...
В 15.06.2017 в 19:21, shoputils сказал:

У меня на тестовых сайтах так работает:


# Redirect www -> not www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

# Redirect http -> https
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

 

 

Спасибо!

Надіслати
Поділитися на інших сайтах


  • 10 months later...
On 6/15/2017 at 5:09 PM, Tom said:

Для начала возвращайте файлы и убирайте свои правки.Магазин должен заработать.Что бы не искать подходящую вам конфигурацию правок для редиректа,напишите в тех поддержку хостинга,это ускорит решение задачи.Ну или вот вам ещё вариант(после того как вернёте родной htaccess).

 

После 

RewriteBase /

 

Добавьте
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP:X-Forwarded-Proto} =http [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} =""
RewriteCond %{HTTP:X-HTTPS} !1 [OR]
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !robots\.txt
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

 

Здесь две переадресации с WWW на без WWW и с http на https

 

 

OcStore 2.3.0.2.3 

Помогло, спасибо!

Надіслати
Поділитися на інших сайтах


  • 4 months later...
В 15.06.2017 в 17:09, Tom сказал:

Для начала возвращайте файлы и убирайте свои правки.Магазин должен заработать.Что бы не искать подходящую вам конфигурацию правок для редиректа,напишите в тех поддержку хостинга,это ускорит решение задачи.Ну или вот вам ещё вариант(после того как вернёте родной htaccess).

 

После 

RewriteBase /

 

Добавьте
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP:X-Forwarded-Proto} =http [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} =""
RewriteCond %{HTTP:X-HTTPS} !1 [OR]
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !robots\.txt
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

 

Здесь две переадресации с WWW на без WWW и с http на https

 

 

Спасибо!

Все получилось благодаря вашей помощи!

Надіслати
Поділитися на інших сайтах


  • 4 months later...
В 15.06.2017 в 21:00, Liminit сказал:

Matvei, увы, но не помогло.

Ваш код я вставил в .htaccess, при этом заменив в коде site на свой (hlebzavod3).
Пробовал зайти на сайт с конфигами HTTP = HTTP, HTTPS = HTTPS - пишет так же что сайт https://hlebzavod3.ru/ недоступен.

Прописал в конфигах везде HTTPS - такая же проблема.

 

а сайт так и работает на http. Интересно почему

Надіслати
Поділитися на інших сайтах


  • 3 weeks later...

Спасибо помогло 

Quote

Но они исправили в config.php

// HTTP
define('HTTP_SERVER', 'https://...

// HTTPS
define('HTTPS_SERVER', 'https://...

и в папке "admin" тоже

// HTTP
define('HTTP_SERVER', 'https://...
define('HTTP_CATALOG', 'https://...

// HTTPS
define('HTTPS_SERVER', 'https://...
define('HTTPS_CATALOG', 'https://...

 

Надіслати
Поділитися на інших сайтах


  • 5 months later...
В 15.06.2017 в 17:09, Tom сказал:

Для начала возвращайте файлы и убирайте свои правки.Магазин должен заработать.Что бы не искать подходящую вам конфигурацию правок для редиректа,напишите в тех поддержку хостинга,это ускорит решение задачи.Ну или вот вам ещё вариант(после того как вернёте родной htaccess).

 

После 

RewriteBase /

 

Добавьте
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP:X-Forwarded-Proto} =http [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} =""
RewriteCond %{HTTP:X-HTTPS} !1 [OR]
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !robots\.txt
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

 

Здесь две переадресации с WWW на без WWW и с http на https

 

Доброго дня. Понимаю, что тема уже быльём поросла, но такой вопрос: Как исключить один конкретный файл из передачи оп SSL и внедрить в Ваше предложение по переадресации?

Сейчас у меня реализовано методом

RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !^/folder/file.php
RewriteRule ^/?(.*) https://sitename.ru/$1 [R,L]

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

В принципе работает, но не в тандеме с предложенными правилами.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.