Сайт Ильи Азарова
Корректная настройка https в Drupal для случая работы за обратным HTTPS-прокси
Пришлось настраивать Drupal, работающий в следующей конфигурации:
В интернет открыт легковесный https-прокси(nginx), а сам Drupal вертится на сервере apache2 с mod_php. На apache поднят mod_rpaf, все как полагается, однако, сложность такой схемы в том, что соединение с вебсервером Apache2 идет по протоколу HTTP, а не HTTPS. Соответсвенно работающие на сервере скрипты PHP, в нашем случае Drupal, работают так, словно взаимодействие идет по HTTP, что проявляется в некорректных URL на сайте, невозможности авторизоваться и других проблемах.
Изучив. как ядро Drupal выявляет протоколы, я пришел к простому решению, как заставить его корректно работать в такой конфигурации. Достаточно добавить в settings.php строчки:
if(
isset($_SERVER['HTTP_X_FORWARDED_SSL'] )
&& ('on' ==$_SERVER['HTTP_X_FORWARDED_SSL'] )
) {
$_SERVER['HTTPS'] = 'on';
}
Переменная $_SERVER['HTTP_X_FORWARDED_SSL'] - ее вид - зависит от того, какое ПО вы пользуете. После добавления такой проверки в settings.php Drupal начнет исправно работать с HTTPS без установки дополнительных модулей.
Сайт теперь на двух языках
После анализа модуля i18n было решено его установить и провести эксперимент с переводом части содержимого сайта на английский язык.
Теперь, по мере моих возможностей, каждая новая статья на русском языке, будет сопровождаться на ее переводом на английский. На данный момент есть определенные проблемы "целостности" контента, но я полагаю, они будут решены, а англоязычные пользователи смогут читать статьи сразу на английском здесь.



