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

vbulletinX

  • Захожу иногда
  • 65
  • 7 / 14
недавно установили мне для сайта ssl сертификат (установила техподдержка рег.ру, где и находится сайт, т.к. по их инструкции на моем vps нельзя было установить, они сделали это в обход панели ISP Manager), и теперь возникает проблема, если в файле configuration.php не указан параметр $live_site (то есть указан вот так: $live_site = '') - в этом случае, у меня в коде сайта, если я захожу по https://site.ru, то всегда вижу в коде сайта <base href="http://site.ru/" /> , соответственно возникают проблемы с отображением сайта по протоколу https.

если же указать параметр $live_site = 'https://site.ru', то всегда по https будет указан параметр <base href="https://site.ru/" />, даже если сайт загружаю по http протоколу (ну это естественно).

в чем проблема:
если я в настройках админки Joomla 3.4.4 выбираю пункт SSL - только для админки (т.е. чтобы админка всегда грузилась по https), то я тогда не могу зайти в админку, то есть у меня не загружается страница с админкой. (если при этом указано, что $live_site = '')

хостер рег.ру, на котором VPS, вот что ответил:

Цитировать
Здравствуйте!
Данная проблема связана с циклической переадресацией CMS Вашего сайта с протокола http на https

 cURL -I https://site.ru/administrator/
HTTP/1.1 301 Moved Permanently
Server: nginx/0.8.54
Date: Tue, 15 Sep 2015 13:50:41 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
X-Powered-By: PHP/5.4.34
Set-Cookie: (тут были куки); path=/; secure; HttpOnly
Location: https://site.ru/administrator/


 cURL -I http://site.ru/administrator/
HTTP/1.1 301 Moved Permanently
Server: nginx/0.8.54
Date: Tue, 15 Sep 2015 13:50:53 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
X-Powered-By: PHP/5.4.34
Set-Cookie: (тут были куки); path=/; secure; HttpOnly
Location: https://site.ru/administrator/

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

при этом, у меня есть еще другой vps у рег.ру, где такой проблемы нет (и сертификах SSL я сам смог установить по инструкции на их сайте в панели ISP) и при параметре $live_site = '' у меня все нормально, а здесь такой параметр не подходит и надо выбирать что-то одно - или http или https....
*

vbulletinX

  • Захожу иногда
  • 65
  • 7 / 14
в кратце:
при параметре $live_site = '' (т.е. без указания домена) в configuration.php, у сайта параметр "base href" всегда принудительно определяется по протоколу http, т.е. не работает динамическая смена параметра "base href" и надо выбирать - либо сайт по http, либо только по https делать рабочим, но такого, чтобы сайт нормально грузился по обоим протоколам - не возможно сделать.
*

vbulletinX

  • Захожу иногда
  • 65
  • 7 / 14
Попробуйте применить этот фикс
https://github.com/joomla/joomla-cms/pull/7902/files

в файле libraries/cms/application/site.php заменил "current" на "base" в нужной строке, но не помогло, все описанные выше проблемы так и остались.
*

vbulletinX

  • Захожу иногда
  • 65
  • 7 / 14


когда у меня $live_site = '', то я могу зайти в админку по HTTPS протоколу, но если  я опцию "Включить SSL - только для панели управления" делаю, то в панель управления больше попасть не могу, она перестает загружаться (пока на 0 не переведу параметр для SSL в файле конфигурации сайта).

вот такая вот проблема. не работает динамический base href на фронте и смена протокола в админке.
*

flyingspook

  • Живу я здесь
  • 3588
  • 247 / 9
В base href подставляется приоритетное соединение и оно если включен ssl и есть https все правильно, разработчики и не думали его делить на фронт и бэкенд. Ни кому в голову не придет что кто то будет SSL подключать частично.
По теме могу сказать что иногда есть проблема не только с движком но и с шаблонами при подключении https.
*

vbulletinX

  • Захожу иногда
  • 65
  • 7 / 14
В base href подставляется приоритетное соединение и оно если включен ssl и есть https все правильно, разработчики и не думали его делить на фронт и бэкенд. Ни кому в голову не придет что кто то будет SSL подключать частично.
По теме могу сказать что иногда есть проблема не только с движком но и с шаблонами при подключении https.
что за БРЕД ты пишешь?

По теме могу сказать что иногда есть проблема не только с движком но и с шаблонами при подключении https.

У меня параметр base href Неправильно определяется (а в самом шаблоне все ссылки нормальные, без полных путей).

разработчики и не думали его делить на фронт и бэкенд. Ни кому в голову не придет что кто то будет SSL подключать частично.

Что касается "делить" - как раз-таки, разработчики об этом в первую очередь подумали, раз сделали такую опцию в настройках Joomla. Я в админку только по https хочу заходить, а вот сайт пусть будет с 2 протоколов доступен (тот же ВКонтакте и многие другие сайты доступны с 2 протоколов сейчас и без редиректов работают).

В base href подставляется приоритетное соединение и оно если включен ssl и есть https все правильно

если ты в Joomla не разбираешься, то зачем в тему лезешь со своими ответами? я уже выше написал, что у меня в файле конфигурации не указан домен, то есть там написано просто $live_site = '', без указания домена и протокола, то есть, по какому протоколу я захочу увидеть сайт - по тому протоколу и должен подставляться параметр "base href", но в моем случае что-то пошло не так, поэтому зашел на этот форум, возможно у кого-то такая же проблема была.

так или иначе, у меня на другом vps от рег.ру, все ОК работает при той же версии Joomla 3.4.4, а на этом vps что-то не так....
*

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

  • Сорокин Band
  • 1865
  • 153 / 4
  • разработчик.москва
Возникла такая же проблема: на одном хостинге работает хорошо, на другом хостинге base href для протокола https определяется как http. Из-за этого "летят" все стили, изображения и скрипты. Live Site переменную так же пробовал обнулять.

Попробуйте применить этот фикс
https://github.com/joomla/joomla-cms/pull/7902/files

Этот фикс нужно повторять после каждого обновления?
« Последнее редактирование: 22.11.2015, 20:53:50 от Филипп Сорокин »
*

fbr

  • Завсегдатай
  • 1296
  • 151 / 6
Попробуйте применить этот фикс
https://github.com/joomla/joomla-cms/pull/7902/files
b2z, спасибо.
Работает))

Но тем не менее остается вопрос:
В версии 3.4.5 все работало без хака, на https
При обновлении до 3.4.6(7) - стили и скрипты слетели, стали подключаться по http
Какие изменения могли повлиять?

Код: html4strict
(index):1 Mixed Content: The page at 'https://site-name.ru/' was loaded over HTTPS, 
but requested an insecure script 'http://site-name.ru/media/jui/js/jquery.min.js'.
This request has been blocked; the content must be served over HTTPS.
*

fbr

  • Завсегдатай
  • 1296
  • 151 / 6
Странно все это .. Мистика
*

denverkurt

  • Захожу иногда
  • 110
  • 25 / 0
Циклическая переадресация может возникать если на сервере работает связка Nginx + Apache

в таком случае нужно в файле /libraries/joomla/uri/uri.php заменить строку:
Код
if (isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS'])!= 'off'))
на:
Код
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')

патч нужно применять после каждого обновления
« Последнее редактирование: 06.02.2016, 12:08:51 от denverkurt »
https://denvera.net - бесплатные расширения для Joomla. Разработка расширений на заказ
*

SolopoV

  • Захожу иногда
  • 499
  • 14 / 0
  • зеленею...
Мне вот этот костыль помог:

if (isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS'])!= 'off'))
{
$https = 's://';
}
else
{
$https = 's://';
}
*

denverkurt

  • Захожу иногда
  • 110
  • 25 / 0
Мне вот этот костыль помог:

if (isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS'])!= 'off'))
{
$https = 's://';
}
else
{
$https = 's://';
}
но в этом случае принудительно все ссылки преобразуются в https
в некоторых случаях это может быть нежелательно
https://denvera.net - бесплатные расширения для Joomla. Разработка расширений на заказ
*

SolopoV

  • Захожу иногда
  • 499
  • 14 / 0
  • зеленею...
но в этом случае принудительно все ссылки преобразуются в https
в некоторых случаях это может быть нежелательно
"Некоторые" - это какие?
*

denverkurt

  • Захожу иногда
  • 110
  • 25 / 0
Когда доступ нужен именно по http
https://denvera.net - бесплатные расширения для Joomla. Разработка расширений на заказ
*

SolopoV

  • Захожу иногда
  • 499
  • 14 / 0
  • зеленею...
Когда доступ нужен именно по http
Куда же нужен доступ по http, если сайт переведен на s, ... понять  не могу.
*

denverkurt

  • Захожу иногда
  • 110
  • 25 / 0
Куда же нужен доступ по http, если сайт переведен на s, ... понять  не могу.
Настоящий программист должен предусмотреть все варианты. Даже если СЕЙЧАС это кажется вам излишним и абсурдным.
А вы своими костылями подаете плохой пример программирования другим ***кодерам
https://denvera.net - бесплатные расширения для Joomla. Разработка расширений на заказ
*

SolopoV

  • Захожу иногда
  • 499
  • 14 / 0
  • зеленею...
Настоящий программист должен предусмотреть все варианты. Даже если СЕЙЧАС это кажется вам излишним и абсурдным.
А вы своими костылями подаете плохой пример программирования другим ***кодерам
Смотреть нужно в корень, в причину, а не на действия. Мне ничего не кажется и  без этого костыля не работает. А Вы, сударь, можете тут продолжать свой танец с бубном.
*

denverkurt

  • Захожу иногда
  • 110
  • 25 / 0
Это у вас танцы с бубнами и действия методом тыка.
Я же предложил обоснованный вариант решения проблемы.
Но вам ваш вариант нравится больше и вы задаете бестолковые вопросы. Сударь
https://denvera.net - бесплатные расширения для Joomla. Разработка расширений на заказ
*

Taatshi

  • Глобальный модератор
  • 4928
  • 463 / 0
  • Верстаем и немножко кодим. Обращайтесь ;)
если сайт переведен на https - загрузка по http не должна производится. Необходимо писать редирект с http на https. Для поисковика это разные адреса - вы получите полный дубль Вашего сайта. Сеошники Вас загрызут.
*

denverkurt

  • Захожу иногда
  • 110
  • 25 / 0
ну так и пишите себе в .htaccess редиректы наздоровье
я лишь запостил как правильно должно быть реализовано в PHP коде. Вижу многих это задело за живое? в чем проблема то? что так закопошились?
нравится вам дописывать httpS ну и дописывайте дальше наздоровье, гении программирования
https://denvera.net - бесплатные расширения для Joomla. Разработка расширений на заказ
*

vbulletinX

  • Захожу иногда
  • 65
  • 7 / 14
если сайт переведен на https - загрузка по http не должна производится. Необходимо писать редирект с http на https. Для поисковика это разные адреса - вы получите полный дубль Вашего сайта. Сеошники Вас загрызут.

есть тег rel="canonnical" и никакого дубля никто не получит, а получит 2 работающие версии сайта по разным протоколам, но с одной главной ссылкой в поисковике. СЕОшники такое одобрят руками и ногами.
*

SolopoV

  • Захожу иногда
  • 499
  • 14 / 0
  • зеленею...
Пришло время ответить на вопрос как безболезненно переехать на защищенный протокол.

1. Устанавливаем сертификат на сервер.
2. Делаем доступ по двум протоколам http и https
В Joomla, плагинах, модулях и компонентах попадает код, который подтягивается только через http, придется попотеть и исправить все эти вещи.

К примеру:

<script src="http://www.xxxxxx.ru/plugins/system/bdthemes_shortcodes/js/shortcode-ultimate.js" type="text/javascript"></script>

переписываем под:

<script src="//www.xxxxxx.ru/plugins/system/bdthemes_shortcodes/js/shortcode-ultimate.js" type="text/javascript"></script>

Аналогично с картинками, ссылками и т.п.

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

3. Идем в Яндекс Вебмастер и в Google консоль и добавляем новые зеркала с https, делаем их главными + в robots.txt указываем главное зеркало с https

4. Ждем "прихода"

Приход приходит долго :), особенно от Яндекс.

Гугл выдаст результаты уже через 2 недели без потери PR
Яндекс сразу обнулит ТИЦ и выдаст результаты через месяц, спустя ещё месяц восстановит ТИЦ.

Проверено на 2 живых интернет магазинах. При переезде использовалась переписка с Платонами.

Никаких редиректов не использовалось.
« Последнее редактирование: 23.04.2016, 17:30:32 от SolopoV »
*

denverkurt

  • Захожу иногда
  • 110
  • 25 / 0
Цитировать
переписываем под:

<script src="//www.xxxxxx.ru/plugins/system/bdthemes_shortcodes/js/shortcode-ultimate.js" type="text/javascript"></script>
зачем статично прописывать адрес сайта и потом в случае чего лазить по всем папкам и исправлять?
достаточно прописать так:
Код
<script src="plugins/system/bdthemes_shortcodes/js/shortcode-ultimate.js" type="text/javascript"></script>
а ваш формат имеет смысл для внешних ресурсов расположенных на других сайтах
https://denvera.net - бесплатные расширения для Joomla. Разработка расширений на заказ
*

SolopoV

  • Захожу иногда
  • 499
  • 14 / 0
  • зеленею...
зачем статично прописывать адрес сайта и потом в случае чего лазить по всем папкам и исправлять?
достаточно прописать так:
Код
<script src="plugins/system/bdthemes_shortcodes/js/shortcode-ultimate.js" type="text/javascript"></script>
а ваш формат имеет смысл для внешних ресурсов расположенных на других сайтах

Повторяюсь: некоторые плагины, компонеты или модули так устроены. Не я их писал :)
Может быть стоит указвать как Вы пишите, мне без разницы.

*

denverkurt

  • Захожу иногда
  • 110
  • 25 / 0
Joomla сама допишет нужный протокол и путь к папке (если дужмла стоит не в корне а где то в дочерних папках)
и на будущее отпадет необходимость править пути в тех местах. сама Joomla подгружает системные CSS и js таким же способом
https://denvera.net - бесплатные расширения для Joomla. Разработка расширений на заказ
*

iRaptor

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
Циклическая переадресация может возникать если на сервере работает связка Nginx + Apache

в таком случае нужно в файле /libraries/joomla/uri/uri.php заменить строку:
Код
if (isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS'])!= 'off'))
на:
Код
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')

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

Спасибо! Помог Ваш способ.

Хочу отдельно сказать что такие танцы применяю впервые. Другие сайты на этом же шаблоне, но на другом хостинге запустились без всей этой кодовшины. Прописал в форму сертификат, редирект в .htaccess и сайт поехал.
*

denverkurt

  • Захожу иногда
  • 110
  • 25 / 0
если на другом хостинге все работает, значит там один Apache, без Nginx
https://denvera.net - бесплатные расширения для Joomla. Разработка расширений на заказ
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема с URL

Автор Fassendek

Ответов: 0
Просмотров: 59
Последний ответ 22.05.2018, 10:48:06
от Fassendek
Страницы с https://www грузятся в 30 раз медленнее чем без www

Автор antikvar99

Ответов: 4
Просмотров: 169
Последний ответ 28.04.2018, 04:47:47
от antikvar99
Замена http на https в товарке rel=canonical

Автор tarasikuss

Ответов: 1
Просмотров: 96
Последний ответ 23.04.2018, 15:30:13
от Messir
Проблема с SP Page Buildier

Автор Aleksey1982

Ответов: 19
Просмотров: 421
Последний ответ 30.03.2018, 22:21:00
от userJmla
После установки SSL-сертификата не заходит на сайт с https://

Автор tarasikuss

Ответов: 0
Просмотров: 178
Последний ответ 19.03.2018, 10:32:17
от tarasikuss