Differences
This shows you the differences between two versions of the page.
citrix:web-интерфеис-xenapp-за-nginx-https-sni [2019/02/11 09:13] – external edit 127.0.0.1 | citrix:web-интерфеис-xenapp-за-nginx-https-sni [2019/11/21 11:19] (current) – [Шаг 3 : Перебрасываем сертификаты на машину nginx и извлекаем приватный ключ из сертификата сервера web-интерфейса] admin | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ======ВСЕ ЧТО ОПИСАНО ТУТ - НЕ РАОТАЕТ! То есть можно установить сертификат сервера web-интерфейса XenApp на nginx и терминировать сессию SSL на nginx и сам web-интерфейс будет работать правильно. НО! приложения в таком виде не запускаются! Citrix Reciever делает какой-то HTTPS запрос, | ||
+ | |||
+ | Поэтому - в качестве reverse proxy и балансировщика нагрузки надо использовать HAproxy как описано тут: [[HAproxy-балансировщик-нагрузки-и-reverse-proxy-для-XenApp-и-других-HTTPS-сервисов-на-одном-IP|HAproxy - балансировщик нагрузки и reverse-proxy для XenApp и других HTTPS сервисов на одном IP]] \\ | ||
+ | |||
+ | |||
+ | План работ: | ||
+ | Экспорт сертификата сервера Web-интерфейса в формате PFX (формат понятный Windows 2008).\\ | ||
+ | Экспорт корневого сертификата нашего центра сертификации.\\ | ||
+ | Преобразование сертификата сервера Web-интерфейса из формата PFX в формат PEM (понятный nginx).\\ | ||
+ | Преобразование корневого сертификата нашего центра сертификации из формата *.cer в формат PEM (понятный nginx).\\ | ||
+ | Настройка nginx\\ | ||
+ | Настройка Web-интерфейса XenApp.\\ | ||
+ | |||
+ | Итак приступим.\\ | ||
+ | |||
+ | ======Шаг 1: Экспорт сертификата====== | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | ======Шаг 2: Экспорт корневого сертификата центра сертификации====== | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | ======Шаг 3 : Перебрасываем сертификаты на машину nginx и извлекаем приватный ключ из сертификата сервера web-интерфейса====== | ||
+ | Передаем сертификат на машину с nginx и экспортируем приватный ключ из .PFX файла.\\ | ||
+ | < | ||
+ | |||
+ | Следующая команда удалит пароль из приватного ключа, чтобы nginx не запрашивал его при старте.\\ | ||
+ | < | ||
+ | |||
+ | И заменим файл с паролем на файл без пароля: | ||
+ | < | ||
+ | |||
+ | Для извлечения приватного ключа из PFX-файла выполните команду: | ||
+ | openssl pkcs12 -in filename.pfx -nocerts -out privatekey.pem\\ | ||
+ | Для извлечения сертификата из PFX-файла выполните команду: | ||
+ | openssl pkcs12 -in filename.pfx -clcerts -nokeys -out certificate.crt\\ | ||
+ | ======Шаг 4 : Извлекаем сертификат .pem из сертификата сервера web-интерфейса .pfx====== | ||
+ | Экспортируем сертификат из .PFX файла.\\ | ||
+ | < | ||
+ | |||
+ | ======Шаг 5: Конвертируем корневой сертификат в формат PEM и присоединяем его к сертификату web-сервера====== | ||
+ | Конвертация из DER в PEM:\\ | ||
+ | < | ||
+ | |||
+ | А затем объединить корневой сертификат и сертификат сервера: | ||
+ | < | ||
+ | |||
+ | ======Шаг 6: Настраиваем nginx====== | ||
+ | Во первых положим файлы сертификата и ключа в папку с конфигурацией nginx. У меня конфигурация nginx лежит в каталоге **/ | ||
+ | < | ||
+ | cp webserver_key.pem / | ||
+ | |||
+ | Затем в конфигурации nginx пропишем reverse-proxy на наш web-интерфейс XenApp:\\ | ||
+ | |||
+ | < | ||
+ | listen 443 ssl; | ||
+ | server_name xenapp.mycompany.com; | ||
+ | |||
+ | ssl on; | ||
+ | ssl_protocols | ||
+ | ssl_certificate / | ||
+ | ssl_certificate_key / | ||
+ | |||
+ | access_log / | ||
+ | |||
+ | location / { | ||
+ | proxy_pass http:// | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | С хоста nginx имя **xenapp.mycompany.com** должно **резолвится** в локальный IP-адрес сервера с Web-интерфейсом. Для этого пропишем его в /etc/hosts или на внутренний DNS. \\ | ||
+ | |||
+ | ======Шаг 7: Настройка Web-интерфейса XenApp====== | ||
+ | У меня оба сайта Web-интерфейса настроены на 80 порту (без HTTPS). Настройка Web-интерфейса XenApp сводится к изменениию режима **Secure Access**.\\ | ||
+ | До использования nginx у меня на одном сервере работали все компоненты XenApp - LicServer, сам XenApp, а также его Web-интерфейс и SecureGateway. | ||