0 Пользователей и 1 Гость просматривают эту тему.
  • 41 Ответов
  • 10879 Просмотров
*

КСС

  • Захожу иногда
  • 52
  • 0 / 0
Добрый вечер, подскажите пожалуйста, как мне победить проблему с корректной работой https на Joomla 3.6.2?
Активировал бесплатный cертификат SSL Let's Encrypt на хостинге timeweb для starmag33.ru, через раздел "сайты" его включил, затем дизайн пока еще закрытого сайта съехал (хоть и стал заходить под https) и даже перестало авторизовываться в открытой части сайта (в админку нормально заходит). Пробовал в Joomla зайти в "панель управления" - "общие настройки" - "сервер" - "включить SSL" и поставить "Весь сайт", мне выдало такое предупреждение "HTTPS has not been enabled as it is not available on this server." Пробовал также читать и проделывать всё тоже самое что описано тут https://community.timeweb.com/articles/kak-vklyuchit-ssl-v-joomla-1 и также не помогло. Что я не доделал? подскажите пожалуйста. :(
*

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
Пути, наверное, где-то прописаны с http + еще какие-то косяки.
Саппорт этого таймвеба никчемный и отвечает через 15+ часов, но пробовали ему написать-то о проблеме?)
*

КСС

  • Захожу иногда
  • 52
  • 0 / 0
Ага, ответ такой "Мы понимаем необходимость корректной работы Ваших сайтов. Однако с нашей стороны анализ логики работы сайта не производится. Пожалуйста, обратитесь к разработчику Вашего сайта для уточнения настройки работы сайта по https протоколу, либо на специализированные форумы Вашей CMS."  ^-^
*

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
Смотрите в консоли ошибки, их более 20, например:
Mixed Content: The page at 'https://starmag33.ru/' was loaded over HTTPS, but requested an insecure stylesheet 'http://starmag33.ru/components/com_virtuemart/assets/css/vm-ltr-common.css?vmver=9204'. This request has been blocked; the content must be served over HTTPS.
*

КСС

  • Захожу иногда
  • 52
  • 0 / 0
Да у меня установлен VirtueMart 3.0.16, пока не знаю может у него что то настроить еще нужно...
*

КСС

  • Захожу иногда
  • 52
  • 0 / 0
В VirtueMart в разделе "настройки" -> "магазин" поставил галку напротив  поля "Включить SSL (рекомендуется)", изменений не произошло.
Всё таки меня смущает почему не включается SSL в разделе "сервер" у Joomla для всего сайта.
*

КСС

  • Захожу иногда
  • 52
  • 0 / 0
Крутяк, всего одну буковку добавил в коде и заработало, помогла статья Куртеева, вот https://alex-kurteev.ru/blog/full/1342-osobennosti-ustanovki-ssl-sertifikata-na-joomla.html там вместо $https = '://'; прописал $https = 's://';
*

КСС

  • Захожу иногда
  • 52
  • 0 / 0
Единственное, в сервере Joomla, всё равно при включении SSL выдает надпись "HTTPS has not been enabled as it is not available on this server." надеюсь это не критично, вроде зеленым замком https как бы корректно отображает.
*

zaboich

  • Осваиваюсь на форуме
  • 37
  • 11 / 0
Проблема возникает из-за того, что Joomla определяет схему запроса (http/https) по глобальной переменной
Код
$_SERVER['HTTPS']
, которая должна быть равна 'on'.

По какой то причине на shared тарифах TimeWeb окружение Apache отдает другую переменную
Код
 $_SERVER['HTTP_X_HTTPS']
( Возможно потому, что используется довольно старый Apache 2.2 ).

Простейшее лечение - вставить код:
Код
if(!empty($_SERVER['HTTP_X_HTTPS'])){
$_SERVER['HTTPS'] = 'on';
}
в любое место до первого вызова метода
Код
JApplicationWeb->detectRequestUri()
.

К сожалению этот метод отрабатывает раньше первого вызова системы плагинов triggerEvent(), а значит плагинами ее нельзя победить.

Т.е. необходимо изменять файлы ядра, которые могут затерется при обновлении CMS.
Как альтернатива - можно вставить код в файл configuration.php, этот файл точно не будет затронут при обновлении, но его содержимое полностью переписывается при изменение конфигурации компонентом com_config.
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
1. В Апаче прописать:

Цитировать
RewriteCond %{HTTP:X-FORWARDED-PROTO} =https
RewriteRule .? - [E=HTTPS:on]

2. Обратиться к хостеру, чтобы тот установил заголовок в Nginx:
Цитировать
proxy_set_header X-Forwarded-Proto https;

3. Файлы ядра не изменять.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
для таймвеба в .htaccess можно сразу

Код
RewriteCond %{HTTP:X-HTTPS} ^1$
RewriteRule .? - [E=HTTPS:on]

и все
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

AAG

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
для таймвеба в .htaccess можно сразу

Код
RewriteCond %{HTTP:X-HTTPS} ^1$
RewriteRule .? - [E=HTTPS:on]

и все

Я пробовал прописать .htaccess эти правила результат один HTTPS has not been enabled as it is not available on this server. при чем все также как и у создателя темы.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

AAG

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
*

AAG

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Обратился к хостеру:
"Появилась проблема не удается включить SSL в настройках CMS Joomla Выдается предупреждение HTTPS has not been enabled as it is not available on this server. Я так понимаю ошибка самого сервера Apache/2.2.22. Были ли подобные ошибки? Ведь я не один устанавливаю SSL на Joomla. При этом зеленый замок https светится. В сообществе я подобных вопросов не нашел."
Получил ответ:
"На данный момент при обращении к Вашему сайту по защищенному протоколу мы не наблюдаем каких-либо ошибок.
Перенаправление на HTTPS на данный момент включено корректно и в таком случае не обязательно его включать в панели управления CMS сайта."

Меня смущает то что Joomla не получает подтверждения работы по протоколу https, и отразится ли это на работе каких либо приложений?
« Последнее редактирование: 10.11.2016, 12:39:01 от AAG »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Выдается предупреждение HTTPS has not been enabled as it is not available on this server
это где? в админке?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

AAG

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
*

AAG

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
не понимаю как прикрепить скриншот
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
если это только предупреждение в админке, а на сайте все ок - то не заморачивайтесь. можно конечно посмотреть, чего Joomla не хватает, почему выдает предупреждение. но по факту если на сайте все нормально, зеленый замок - то SSL включен и предупреждение ни на что не влияет.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

AAG

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
В том то и дело что работает все нормально зеленый замок и в админке и на сайте, единственная проблема в добавлении ссылок rel="next" и rel="prev" в шапку сайта, упорно прописывает протокол http.
в файл _pagination.php ZOO дописывал такой код

Код: php
$doc = JFactory::getDocument();
$doc->addHeadLink(JRoute::_($link, true, -1), 'prev');
$doc->addHeadLink(JRoute::_($link, true, -1), 'next');
*

AAG

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
при чем ссылки на сами страницы пагинации в теле сайта прописываются с https.
Вот полный код
Код: php
<?php
    $doc = JFactory::getDocument();

    $html = '';

    if ($pagination->pages() > 1) {

        $range_start = max($pagination->current() - $pagination->range(), 1);
        $range_end   = min($pagination->current() + $pagination->range() - 1, $pagination->pages());

        if ($pagination->current() > 1) {
            $link  = $url;
            $html .= '<li><a href="'.JRoute::_($link).'">'.JText::_('Первая').'</a></li>';
            $link  = $pagination->current() - 1 == 1 ? $url : $pagination->link($url, $pagination->name().'='.($pagination->current() - 1));
            $html .= '<li><a href="'.JRoute::_($link).'">«</a></li>';
            $doc->addHeadLink(JRoute::_($link, true, -1), 'prev');
        }

        for ($i = $range_start; $i <= $range_end; $i++) {
            if ($i == $pagination->current()) {
                $html .= '<li class="uk-active"><span>'.$i.'</span>';
            } else {
                $link  = $i == 1 ? $url : $pagination->link($url, $pagination->name().'='.$i);
                $html .= '<li><a href="'.JRoute::_($link).'">'.$i.'</a></li>';
            }
        }

        if ($pagination->current() < $pagination->pages()) {
            $link  = $pagination->link($url, $pagination->name().'='.($pagination->current() + 1));
            $html .= '<li><a href="'.JRoute::_($link).'">»</a></li>';
            $doc->addHeadLink(JRoute::_($link, true, -1), 'next');
            $link  = $pagination->link($url, $pagination->name().'='.($pagination->pages()));
            $html .= '<li><a href="'.JRoute::_($link).'">'.JText::_('Последняя').'</a></li>';
        }

    }

    echo $html;
    ?>
</ul>
<?php endif;
*

wishlight

  • Живу я здесь
  • 4980
  • 293 / 1
  • от 150 руб быстрый хостинг без блокировок
*

AAG

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Перенаправьте запросы в https...
Не совсем понял что перенаправить в коде? редирект уже стоит, проблема в коде который выводит протокол http в шапку с ссылками пагинации атрибутов rel="next" и rel="prev" из за этого зеленый замок на страницах сайта с пагинацией горит с восклицательным знаком
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
а третий параметр JRoute::_($link, true, -1) за что отвечает?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
$live_site переменную в configuration.php приведите к пустому значению.
*

AAG

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
а третий параметр JRoute::_($link, true, -1) за что отвечает?
Вычитает из текущей ссылки вида: /page5 единицу, получаем /page4.
*

AAG

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
$live_site переменную в configuration.php приведите к пустому значению.
А что это даст? Исчезнет предупреждение в админке "HTTPS has not been enabled as it is not available on this server"? Или  rel="next" и rel="prev" будут по https?
*

AAG

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
$live_site переменную в configuration.php приведите к пустому значению.
Привел ни чего не изменилось все по прежнему, вернул обратно
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Вычитает из текущей ссылки вида: /page5 единицу, получаем /page4.
это вы так пошутили? :) это вам не вопрос был, а ответ. посмотрите, за что отвечает 3-й параметр в JRoute::_()
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Хостинг для Joomla: специальные тарифы от Timeweb

Автор Timeweb

Ответов: 30
Просмотров: 3577
Последний ответ 13.02.2018, 18:48:09
от SeBun
Хостинг TimeWeb

Автор xxx1620

Ответов: 42
Просмотров: 15357
Последний ответ 03.04.2013, 20:52:24
от fatalvector
Проблемы с Timeweb

Автор konoden

Ответов: 2
Просмотров: 3256
Последний ответ 01.08.2012, 22:39:32
от konoden