Сервер IBM HTTP Server можно настроить в качестве обратного
прокси-сервера для Rational DOORS Web Access. Обратный прокси-сервер предлагает дополнительный уровень
безопасности, защищает серверы HTTP в сети и повышает
производительность обработки запросов Secure Sockets Layer (SSL). В случае применения обратного прокси-сервера топологию
развертывания при необходимости можно изменить.
Прежде чем начать
- Установите Rational DOORS Web Access, но не запускайте
компоненты или сервер Rational DOORS Web Access.
- Установите IBM HTTP Server.
Об этой задаче
Обратный прокси-сервер - это специальный сервер HTTP,
предотвращающий прямой доступ к сервер HTTP с содержимым. Все запросы информации передаются через общедоступный обратный
прокси-сервер и перенаправляются частному серверу Rational DOORS
Web Access.
Преимущества применения обратного прокси-сервера:
- Будущие изменения топологии развертывания: в случае применения
обратного прокси-сервера можно указать одно имя хоста в общедоступном
URL вне зависимости от числа систем и номеров портов приложений. Такой подход позволяет вносить изменения в топологию развертывания в
будущем.
- Защита: обратный прокси-сервер предлагает дополнительный уровень
безопасности и защищает серверы HTTP в сети. Брандмауэр,
расположенный между обратным прокси-сервером и сервером HTTP, можно
настроить для разрешения только запросов HTTP с обратного
прокси-сервера.
- Производительность: обратный прокси-сервер может
использовать аппаратный ускоритель SSL, позволяющий повысить
производительность обработки запросов SSL.
В этой процедуре выполняются следующие действия:
- Подготовьте хранилище ключей SSL.
- Внесите изменения в файл httpd.conf.
- Запустите IBM HTTP Server.
- Запустите компоненты Rational DOORS Web Access.
- Запустите сервер Rational DOORS Web Access.
Процедура
- Разместите допустимый файл ключей сертификата SSL в доступном
расположении в системе.
- Для того чтобы настроить IBM HTTP Server для обработки
запросов SSL,
внесите изменения в файл httpd.conf,
расположенный в каталоге conf экземпляра IBM
HTTP Server.
- Удалите символы комментария из следующих модулей:
- LoadModule proxy_module modules/mod_proxy.so
- LoadModule proxy_http_module modules/mod_proxy_http.so
- LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
- Перейдите к разделу конфигурации SSL и укажите сведения о
сервере приложений. Помимо стандартных параметров укажите следующие
параметры (см. пример для этого шага).
- SSLProxyEngine
- ProxyPass
- ProxyPassReverse
Прим.: В этом примере конечным пользователям доступен порт
прокси-сервера 8443. В зависимости от среды для Apache Tomcat может быть указан
другой порт, чтобы избежать конфликтов.
# Включите порт, принимающий запросы SSL клиента
Listen 0.0.0.0:8443
<VirtualHost *:8443>
# Директива SSLEnable включает SSL для виртуального хоста.
SSLEnable
# Директива SSLProxyEngine позволяет разрешить применение SSL для соединений через прокси-сервер.
# Директива SSLProxyEngine on требуется, если сервер выполняет роль обратного прокси-сервера для ресурса SSL.
# Зависит от mod_ibm_ssl.so
SSLProxyEngine on
# Директива SSLProtocolDisable позволяет указать один или несколько протоколов
# SSL, которые клиенту запрещено использовать для конкретного виртуального хоста.
# Эта директива должна быть расположена в контейнере <VirtualHost>.
# Поддерживаемые протоколы для виртуального хоста поддерживаются отдельно.
# Если все поддерживаемые протоколы выключены, клиенты не смогут выполнить согласование SSL.
# Для этой директивы можно указать следующие значения: SSLv2, SSLv3, TLS, TLSv1, TLSv1.1, TLSv1.2
SSLProtocolDisable SSLv2
SSLProtocolDisable SSLv3
# Директива keyfile задает файл ключей.
KeyFile <путь к хранилищу ключей>/<имя файла хранилища ключей>.kdb
# Директива SSLStashfile указывает путь к файлу, имя которого
# содержит зашифрованный пароль для открытия устройства PKCS11.
# Зависит от mod_ibm_ssl.so
SSLStashfile <путь-к-файлу-бумажника>/.<имя-файла-бумажника>.sth
# Директива SSLServerCert задает сертификат сервера для виртуального хоста.
# Зависит от mod_ibm_ssl.so
SSLServerCert <метка сертификата ssl>
# Эта директива позволяет удаленным серверам подключаться к области
# локального сервера; локальный сервер не выполняет роль прокси-сервера,
# а является зеркальной копией удаленного сервера.
# <Путь> - это имя локального виртуального пути.
# <url> - это частичный URL удаленного сервера.
# ProxyPass <путь> <url>
# Примечание: сохраните косую черту в конце
ProxyPass / https://<хост tomcat dwa>:<порт tomcat dwa>/
# Эта директива позволяет Apache настроить URL в заголовке Location в ответах перенаправления HTTP.
# Такая функция имеет важное значение, если Apache применяется в
# качестве обратного прокси-сервера, чтобы избежать обхода обратного
# прокси-сервера за счет перенаправления HTTP на базовые
# серверы, расположенные за обратным прокси-сервером.
# <Путь> - это имя локального виртуального пути.
# <url> - это частичный URL удаленного сервера - аналогично директиве ProxyPass.
# ProxyPassReverse <путь> <url>
# Примечание: сохраните косую черту в конце
ProxyPassReverse / https://<хост tomcat dwa>:<порт tomcat dwa>/
# Эта опция передает целевому хосту строку Host: из входящего запроса
# вместо частного имени хоста, указанного в строке proxypass.
ProxyPreserveHost On
</VirtualHost>
# Выключение SSL для всех остальных виртуальных хостов
SSLDisable
- Запустите IBM HTTP Server.
- Запустите компоненты Rational DOORS Web Access.
- Запустите сервер Rational DOORS Web Access.
- Укажите обратный прокси-сервер для общедоступного URL и номера
порта Rational DOORS Web Access с помощью следующей команды
dbadmin:
dbadmin -dwaHost url-обратного-прокси-сервера -dwaPort порт-обратного-прокси-сервера
Дополнительная информация о команде dbadmin
приведена в разделе Настройка сервера базы данных Rational
DOORS.