Jump to content

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 пустое.

 

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

Edited by Yaroslaff

Share this post


Link to post
Share on other sites

Прошу помощи! 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//...), но в админ панель не пускает. Мол такой страницы нет.

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

Share this post


Link to post
Share on other sites
9 минут назад, Atlet сказал:

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

...

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

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

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

Share this post


Link to post
Share on other sites
7 часов назад, Yaroslaff сказал:

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

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

 

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

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

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

Share this post


Link to post
Share on other sites
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/');

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

Share this post


Link to post
Share on other sites
1 час назад, Atlet сказал:

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

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

Так не нужно.

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

 

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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

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

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

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

 

Edited by Atlet

Share this post


Link to post
Share on other sites
1 час назад, Atlet сказал:

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

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

 

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

Share this post


Link to post
Share on other sites
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, может быть в этом есть какой-то смысл?

Edited by Yaroslaff

Share this post


Link to post
Share on other sites
1 час назад, Dotrox сказал:

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

 

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

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

Share this post


Link to post
Share on other sites
3 часа назад, Yaroslaff сказал:

2.0.3.1

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

 

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

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

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

 

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

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

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

 

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

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

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

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

 

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

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

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

Share this post


Link to post
Share on other sites
43 минуты назад, Dotrox сказал:

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

 

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

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

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

Share this post


Link to post
Share on other sites
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 не трогал.

Share this post


Link to post
Share on other sites
12 часов назад, Dotrox сказал:

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

Отправил в личку.

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites
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;
    }
}
?>

 

Edited by Atlet

Share this post


Link to post
Share on other sites

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

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

так:

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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

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

Модуль Марка поможет мне?

Share this post


Link to post
Share on other sites
1 час назад, Atlet сказал:

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

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

 

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

  • +1 1

Share this post


Link to post
Share on other sites
14 минут назад, Dotrox сказал:

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

 

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

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

Share this post


Link to post
Share on other sites

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? Какую строку? 

 

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

 

 

 

 

 

 

 

Share this post


Link to post
Share on other sites
2 часа назад, valentin911 сказал:

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

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

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

 

 

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

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

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.