Подскажите, пожалуйста, как настроить конфигурацию Drupal 8 под TLS-шлюз.
Есть обычный адрес сайта:
https://site.ru/
Для этого же сайта есть защищенный TLS-шлюз, который пробрасывает обычный адрес сайта по новому адресу:
https://tls.site.ru/subdirectory/
Сайт начал открываться по новому адресу, но с неправильными ссылками на веб-ресурсы.
Например, в пользовательских формах action ведет по старому адресу (как в админ. панели так и в формах на клиентской части). Пример:
<form action="/node/1?destination=/node/1" ...
Нужно сделать так, чтобы в значении атрибута action было значение "/subdirectory/node/1?destination=/node/1", аналогично, в ссылках на css-стили и js-скрипты в начало пути добавлялось "/subdirectory".
Для Drupal 7 у меня в /var/www/html/sites/default/settings.php эта проблема решалась так:
$base_url = 'https://site.ru'; // NO trailing slash!
// URL TLS
$url_tls = 'tls.site.ru';
// URL TLS Path
$url_tls_path = '/subdirectory';
// URL TLS Gateway
$url_tls_gateway = 'https://' . $url_tls . $url_tls_path;
// Вход осуществляется по защищенному каналу или нет
$is_tls_gateway = FALSE;
// IP-адрес сервера, на котором выполняется текущий скрипт
$server_addr = $_SERVER['SERVER_ADDR'];
// IP-адрес интерфейса TLS
$ip_tls = '10.10.100.1';
if ($server_addr === $ip_tls) {
// Заменить Base URL
$base_url = $url_tls_gateway;
// Заменить Request URI
$_SERVER['REQUEST_URI'] = $url_tls_path . $_SERVER['REQUEST_URI']; // не работает в Drupal 8
// TLS используется
$is_tls_gateway = TRUE;
}
// Используется ли TLS Gateway
define('IS_TLS_GATEWAY', $is_tls_gateway);
В Drupal 8 таким способом переприсвоить $_SERVER['REQUEST_URI'] не удается.
Подскажите, пожалуйста, как в Drupal 8 решается этот вопрос?