Форум русской поддержки Joomla!® CMS
02.12.2016, 21:57:15 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Установка SSl сертификата и перевод Joomla c http на https - часть 2

 (Прочитано 99 раз)
0 Пользователей и 1 Гость смотрят эту тему.
dmitry_stas
Профи
********

Репутация: +794/-4
Offline Offline

Сообщений: 7732



« : 11.10.2016, 23:07:26 »

тема создана по мотивам решенной. решение мне не понравилось Azn

проверка http или https происходит в \libraries\joomla\uri\uri.php function getInstance следующим образом
Код:
if (isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS'])!= 'off'))
{
$https = 's://';
}
else
{
$https = '://';
}

проблема в том, что очень часто $_SERVER['HTTPS'] отсутствует в принципе. это происходит тогда, когда работает связка nginx + apache. в таком случае nginx выставляет свой заголовок $_SERVER['HTTP_X_FORWARDED_PROTO'] равный https. для апача в таком случае нужно использовать
Код:
SetEnvIf X-Forwarded-Proto https HTTPS=on
но как показала практика, отсутствие этого встречается достаточно часто. и Joomla неправильно определяет текущий протокол https, определяет его как http со всеми вытекающими.

итого, решений собственно 2:
1. добавить в секции нужного виртуалхоста для апача указанную выше директиву SetEnvIf...
2. имхо более правильный для Joomla в плане универсальности - изменить проверку в \libraries\joomla\uri\uri.php и учитывать $_SERVER['HTTP_X_FORWARDED_PROTO']
Код:
if (isset($server['HTTP_X_FORWARDED_PROTO']) && $server['HTTP_X_FORWARDED_PROTO'] == 'https' || isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS'])!= 'off'))

если кто имеет доступ к багтрекеру - можно отписать.
Записан
voland
Профи
********

Репутация: +487/-85
Online Online

Пол: Мужской
Сообщений: 8694


любит наш народ всякое гавно...


« Ответ #1 : 12.10.2016, 01:38:41 »

Доступ вроде публичный.
Но если лень - могу отписать, только просьба сформулировать по аглицки
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet