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

[Решено] Как настроить SSL?


Recommended Posts

Установил сертификат, пытаюсь прикрутить SSL. Включил SSL в админке. В config.php само прописалось вот так:

 

// HTTP
define('HTTP_SERVER', 'https:/www.mysite.com/');

// HTTPS
define('HTTPS_SERVER', 'https://www.mysite.com/');

 

Аминка работает нормально.

В магазине открывается только основная страница и несколько ссылок - ссылка на одну из категорий, и большая часть ссылок из хидера и футера, где не берется инфа из базейки. При жмаканье на все остальное - 404 Not Found. Всегда горит зеленый замочек.

 

Если в строке // HTTP поменять https на http, вместо 404 Not Found перебрасывает на главную страницу.

 

Если в админке отключить Use SEO URLs, то все работает. Если включить, то не работает. У той единственной категории ссылка на которую работает SEO Keyword пустое.

 

Как это можно побороть?

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


Прошу помощи! Ocstore 15512.

1) Поставил на сервере ssl сертификат,

2) Внес изменения в domain.ru/admin/config.php

<?php
// HTTP
define('HTTP_SERVER', 'http://domain.ru/admin/');
define('HTTP_CATALOG', 'http://domain.ru/');

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

3) Внес изменения в domain.ru/config.php

<?php
// HTTP
define('HTTP_SERVER', 'http://domain.ru/');

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

4) В админке магазина нажал "Вкл. ssl"

5) Внес изменения в domain.ru/.htaccess по совету хостера: 

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

После 5 шага с сайтом вроде в порядке (в строке браузера пишет https//...), но в админ панель не пускает. Мол такой страницы нет.

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

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


9 минут назад, Atlet сказал:

Прошу помощи! Ocstore 15512.

...

После 5 шага с сайтом вроде в порядке (в строке браузера пишет https//...), но в админ панель не пускает. Мол такой страницы нет.

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

Вроде бы все в порядке! Тестирую:)

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


7 часов назад, Yaroslaff сказал:

Если в админке отключить Use SEO URLs, то все работает. Если включить, то не работает.

Какая у вас сборка?

 

5 часов назад, Atlet сказал:

Вроде бы все в порядке!

После чего всё стало в порядке? Может, ещё кому-то пригодиться.

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


7 часов назад, Atlet сказал:

Прошу помощи! Ocstore 15512.

1) Поставил на сервере ssl сертификат,

2) Внес изменения в domain.ru/admin/config.php

<?php
// HTTP
define('HTTP_SERVER', 'http://domain.ru/admin/');
define('HTTP_CATALOG', 'http://domain.ru/');

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

3) Внес изменения в domain.ru/config.php

<?php
// HTTP
define('HTTP_SERVER', 'http://domain.ru/');

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

4) В админке магазина нажал "Вкл. ssl"

5) Внес изменения в domain.ru/.htaccess по совету хостера: 


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

После 5 шага с сайтом вроде в порядке (в строке браузера пишет https//...), но в админ панель не пускает. Мол такой страницы нет.

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

Сам пол ночи скитался по форумам в поисках как установить SSL. Щас протестировал  - почти все Ок. Может кому то пригодится. И так я купил сертификат на хостинге, выделенный IP адрес. Устанавливал по их мануалу (наверно у каждого свой). Дальше по шагово, все как написал выше. Почему не пускал в админку? Потому что я пытался зайти (из закладок) на страницу админ панели http://... Почистил кэш браузера, зашел через строку браузера  https://.../admin, ввел пароль - и ЧУДО!

Нашел у себя ошибку в шаге (3): нужно так 

<?php
// HTTP
define('HTTP_SERVER', 'https://domain.ru/');

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

Без исправления у меня не отправлялась почта из формы обратной связи. Важно - до установки почта из формы отправлялась. (Изначально в форме тоже были недоработки, но это решил ранее с помощью данного форума).

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


1 час назад, Atlet сказал:

Нашел у себя ошибку в шаге (3): нужно так 

<?php
// HTTP
define('HTTP_SERVER', 'https://domain.ru/');

Так не нужно.

Если правку в /system/library/url.php вы уже сделали, а форма не работает, значит нужно ковырять саму форму (и оторвать автору руки): там либо жёстко вбито HTTP_SERVER, либо вообще http://.

 

А не работает она потому, что она, вероятно, аяксом отравляет данные на сервер и либо браузер не даёт этого сделать из-за незащищённого протокола, либо происходит редирект на https, при котором всё содержимое POST запроса теряется.

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


1 час назад, Dotrox сказал:

Так не нужно.

Если правку в /system/library/url.php вы уже сделали, а форма не работает, значит нужно ковырять саму форму (и оторвать автору руки): там либо жёстко вбито HTTP_SERVER, либо вообще http://.

 

А не работает она потому, что она, вероятно, аяксом отравляет данные на сервер и либо браузер не даёт этого сделать из-за незащищённого протокола, либо происходит редирект на https, при котором всё содержимое POST запроса теряется.

 По совету  AlexDW  в одном из постов я воспользовался  https://www.whynopadlock.com и там пишет мне, что семь ошибок, например 

Небезопасные URL-адрес: http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700&subset=latin,cyrillic-ext,latin-ext,cyrillic
найдено в: https://мойсайт.ru/contact-us/

Незащищенного URL: протокол http://fonts.googleapis.com/css?family=Marck+сценарий&подмножество=латиница,кириллица
встречается в: https://мойсайт.ru/contact-us/

Незащищенного URL: протокол http://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTS3USBnSvpkopQaUR-2r7iU.ttf
найдено в: http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700&subset=latin,cyrillic-ext,latin-ext,cyrillic

Так же

 Небезопасной <форма> вызов. 
Найти на линии № 1008 в файл: мойсайт.ru/contact-us/index.html

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


Уважаемый Dotrox, подскажите путь исправления ошибок. И для информации, тот корявый вариант у меня с https на что может повлиять (я сейчас восстановил, как нужно).

В форме пишу сообщение магазину, не всплывает заветное "Ваше сообщение отправлено", просто все пропадает после кликанья.

Может копнуть в мойсайт.ru/index.php? Я не понимаю, что это "мойсайт.ru/contact-us/index.html"

 

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


1 час назад, Atlet сказал:

В форме пишу сообщение магазину, не всплывает заветное "Ваше сообщение отправлено", просто все пропадает после кликанья.

Найдите в модуле, где формируется ссылка, на которую уходят сообщения из формы.

 

А по шрифтам: просто найдите, где у вас эти ссылки вписаны (шаблон шапки, файл стилей через @import или ещё где-то) и поправьте протокол. тут других вариантов нет.

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


8 часов назад, Dotrox сказал:

Какая у вас сборка?

 

2.0.3.1. Оказывается опенкарт при включении в админке SLL внес изменения в htaccess, удалив абсолютно все из # SEO URL Settings и дописав в начало:

 

#RewriteEngine On
#RewriteBase /
#RewriteCond %{HTTPS} off
#RewriteRule ^(.*)$ https://www.mysite.com [L,R=301]

 

Вернул то что было (с поправкой на https):

 

RewriteCond %{HTTPS_HOST} ^mysite.com
RewriteRule (.*) https://www.mysite.com/$1 [R=301,L]
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=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]

 

Все заработало. Но остались непонятными два момента.

1. RewriteBase /  нужно или нет?

2. Зачем опенкарт так модифицировал htaccess, может быть в этом есть какой-то смысл?

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


1 час назад, Dotrox сказал:

Найдите в модуле, где формируется ссылка, на которую уходят сообщения из формы.

 

А по шрифтам: просто найдите, где у вас эти ссылки вписаны (шаблон шапки, файл стилей через @import или ещё где-то) и поправьте протокол. тут других вариантов нет.

Простите, не скажите где смотреть про ссылку и что я должен увидеть - я только учусь. Может поможете донастроить переход на https. Или мне готовый модуль какой нибудь посмотреть

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


3 часа назад, Yaroslaff сказал:

2.0.3.1

Это версия, а не сборка.

 

3 часа назад, Yaroslaff сказал:

Оказывается опенкарт при включении в админке SLL внес изменения в htaccess, удалив абсолютно все из # SEO URL Settings и дописав в начало:

ОК такого не делает!

 

3 часа назад, Yaroslaff сказал:

RewriteBase /  нужно или нет?

Нужен. Эта директива указывает, что является корнем сайта.

 

3 часа назад, Yaroslaff сказал:

Зачем опенкарт так модифицировал htaccess, может быть в этом есть какой-то смысл?

Нет в этом никакого смысла.

Я потому и спрашивал именно сборку, что это уже авторы сборки могли что-то намудрить, но я ожидал извращённого SeoPro, а не такого.

 

2 часа назад, Atlet сказал:

где смотреть про ссылку и что я должен увидеть

Дайте ссылку на сайт.

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


43 минуты назад, Dotrox сказал:

Это версия, а не сборка.

 

А как узнать сборку? Я скачивал с официального сайта то что на тот момент предлагалось. Без всяких модификаций.

Касательно того, что не делает, так ведь сделал же. Я имею привычку перед тем чтобы что-то сделать все обязательно бекапить. И в результате имею то что было, и то что стало.

Касательно директивы, я ее значит сейчас верну. Но с другой стороны ведь вроде все работает и без нее? 

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


45 минут назад, Yaroslaff сказал:

Я скачивал с официального сайта то что на тот момент предлагалось.

Значит оригинальный.

 

46 минут назад, Yaroslaff сказал:

Но с другой стороны ведь вроде все работает и без нее? 

В большинстве случаев и будет работать без неё. Она обязательно нужна, если ОК лежит не в в корне сайта (и тогда в ней указывается где), а в остальных случаях она просто страхует от кривых настроек сервера.

 

Но вопрос в другом: если вы скачивали оригинальный ОК, то у вас эта директива должна была быть изначально. Вот .htaccess оригинального ОК вашей версии (и она есть в любой версии): https://github.com/opencart/opencart/blob/2.0.3.1/upload/.htaccess.txt

 

52 минуты назад, Yaroslaff сказал:

Касательно того, что не делает, так ведь сделал же. Я имею привычку перед тем чтобы что-то сделать все обязательно бекапить. И в результате имею то что было, и то что стало.

Значит у вас есть модули, которые модифицируют .htaccess. Если это произошло именно при включении SSL в админке, смотрите, какие модули у вас связаны с SSL/https. Если таких нет, тогда следующие под подозрением SEO модули.

Сам ОК никогда .htaccess не трогал.

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


Как я и говорил, дело в редиректе. И вы не внимательны!

Выше я спрашивал про правку в /system/library/url.php - у вас её явно нет!

Вас не смущало, что почти все ссылки на сайте без https?

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


1 час назад, Dotrox сказал:

Как я и говорил, дело в редиректе. И вы не внимательны!

Выше я спрашивал про правку в /system/library/url.php - у вас её явно нет!

Вас не смущало, что почти все ссылки на сайте без https?

Уже читаю Вас здесь 

Укажите плиз, что надо переписать (ocStore15512)

<?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 = '', $connection = 'NONSSL') {
        if ($connection ==  'NONSSL') {
            $url = $this->url;    
        } else {
            $url = $this->ssl;    
        }
        
        $url .= 'index.php?route=' . $route;
            
        if ($args) {
            $url .= str_replace('&', '&amp;', '&' . ltrim($args, '&')); 
        }
        
        foreach ($this->rewrite as $rewrite) {
            $url = $rewrite->rewrite($url);
        }
                
        return $url;
    }
}
?>

 

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


Верно заменить ?

public function link($route, $args = '', $connection = 'NONSSL') {
        if ($connection ==  'NONSSL') {

так:

public function link($route, $args = '', $connection = 'SSL') {
        if ($connection ==  'SSL') {

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


18 минут назад, Atlet сказал:

Верно заменить ?

public function link($route, $args = '', $connection = 'NONSSL') {
        if ($connection ==  'NONSSL') {

так:

public function link($route, $args = '', $connection = 'SSL') {
        if ($connection ==  'SSL') {

 

Нет. Заменить нужно только в первой строчке, то есть здесь:

public function link($route, $args = '', $connection = 'NONSSL') {

 

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


1 час назад, Atlet сказал:

А как протестировать какие ссылки не на https ?

Открываете исходный код страницы в браузере, нажимаете Ctrl+F, вбиваете в появившееся поле поиска http:// - и сразу увидите такие ссылки.

 

Сейчас у вас с http остались только ссылки на шрифты в шапке и ссылка на myopencart.ru в футере. Первое должно быть в header.tpl шаблона, а второе - в языковом файле футера.

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


14 минут назад, Dotrox сказал:

Открываете исходный код страницы в браузере, нажимаете Ctrl+F, вбиваете в появившееся поле поиска http:// - и сразу увидите такие ссылки.

 

Сейчас у вас с http остались только ссылки на шрифты в шапке и ссылка на myopencart.ru в футере. Первое должно быть в header.tpl шаблона, а второе - в языковом файле футера.

Премного благодарен. Вы - калибр :)

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


Dotrox добрый день,

помогите пожалуйста настроить сайт с http на https, у меня веб-сервер nginx. Версия ocStore 2.1.0.2.1. Включил в админке SSL

Стандартно добавил "s" в файлах config:

?php
// HTTP
define('HTTP_SERVER', 'http://my site/');

// HTTPS
define('HTTPS_SERVER', 'https://my site/');

 

в другом файле по аналогии:

<?php
// HTTP
define('HTTP_SERVER', 'http://my site/admin/');
define('HTTP_CATALOG', 'http://my site/');

// HTTPS
define('HTTPS_SERVER', 'https://my sitea/admin/');
define('HTTPS_CATALOG', 'https://my site/');

 

После этих манипуляций

админы хостинга ответили что:

"Насколько видим, главная страница отображается корректно. Однако, все ссылки на ней являются абсолютными, и ведут на http://, т.е. по https доступна только главная страница."

Я подозреваю что надо добавить вот это:  (видел в ветке сообщений)

server {
    listen 256.256.256.256:80;
    server_name    domain.com www.domain.com;
    return         301 https://domain.com$request_uri;
}

Это надо добавить в файл .htaccess?

Вместо 256.256.256.256 - ip вашего сервера.

Вместо domain.com - ваш домен.

Если используете ipv6 можно добавить ещё одну строку с listen и указать там ваш ipv6.

Добавлять это надо отдельным блоком server от того, где все основные настройки домена.

Что такое ipv6? Какую строку? 

 

Помогите разобраться, буду премного благодарен!!!!!!!

 

 

 

 

 

 

 

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


2 часа назад, valentin911 сказал:

Я подозреваю что надо добавить вот это:  (видел в ветке сообщений)

Нет. nginx никак не влияет на то, как у вас ссылки на сайте формируются!

Решение вашей проблемы в моём посте четырмя постами выше вашего.

 

 

2 часа назад, valentin911 сказал:

Это надо добавить в файл .htaccess?

Какое отношение конфиг Апача (.htaccess) имеет к nginx? Если у вас шаред хостинг, то доступа к конфигу nginx у вас почти точно нет.

И если у вас есть Апач, то доступ к конфигу nginx и не нужен, редиректы прописываются для Апача (если поддержка хостинга их сама не пропишет для nginx). Но для Апача другой формат.

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


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

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

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

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

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

Вхід

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

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

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