Drupal и реверсный прокси с поддержкой ssl

Главные вкладки

Аватар пользователя villain666@drupal.org villain666@drup... 19 января 2009 в 18:14

Есть интранет портал с drupal-ом, доступный по http (http://internal.domain/portal), хочется его выставить наружу и соответственно более безопасно. Как одно из решений было установить nginx, в режиме https->http реверсного прокси и поднять его на адресе (https://external.domain/). После установки и рытья на drupal.org ничего внятного не получилось 8-/.

Вопросы:

  1. Как работает друпал с ssl-proxy?
  2. Как лучше организовать работу в trusted сети через http (меньше нагрузка) и через internet с использованием https (безопасно) для одного контента?

Комментарии

Аватар пользователя villain666@drupal.org villain666@drup... 21 января 2009 в 15:25
01:  $request_type = ($_SERVER['HTTP_X_FORWARDED_HOST'] == 'ssl.proxy.org') ? 'SSL' : 'NONSSL';
02:  if($request_type!="SSL"){
03:    //header("Location:https://ssl.proxy.org/www.example.com");
04:    $base_url = 'http://www.example.com';  // NO trailing slash!
05:    $cookie_domain = 'www.example.com';
06:  } else {
07:    $base_url = 'https://ssl.proxy.org/www.example.com';  // NO trailing slash!
08:    $cookie_domain = 'ssl.proxy.org';
09:    $_SERVER['HTTPS']='on';
10:    $_SERVER['REQUEST_URI']='/www.example.com'. $_SERVER['REQUEST_URI'];
11:    $conf = array(
12:            'reverse_proxy' => TRUE,
13:            'reverse_proxy_addresses' => array($_SERVER['REMOTE_ADDR']),
14:    );
15:  }

Поработал над вот этим вариантом, помогло, хотя бы на первый взгляд 8-/ nid=339552

для nginx прописал следующее в нужном location -> proxy_set_header X_FORWARDED_HOST external.domain;

отдам народу на растерзание - пусть тестируют Dirol