Сделайте сертификат доверенным в домене, например, с помощью групповых политик.
Выдайте учетной записи nginx права на чтение файлов сертификата.
Настройка конфигурационного файла
Для работы Rutoken KeyBox настройте nginx, чтобы веб-сервер обслуживал запросы и отправлял их на проксируемый адрес – сервис RutokenKeyBox.
Работа nginx и его модулей определяется в конфигурационном файлеnginx.conf. В зависимости от операционной системы он расположен в каталоге/usr/local/nginx/conf,/etc/nginxили/usr/local/etc/nginx.
Контекст
Директива
Значение по умолчанию
Рекомендуемое значение
Комментарий
http
proxy_buffer_size
4k|8k
16k
Увеличивается размер прокси буферов для передачи необходимой информации в http-запросах
proxy_buffers
8 4k|8 8k
4 16k
Увеличивается размер прокси буферов для передачи необходимой информации в http-запросах
types_hash_max_size
1024
4096
Увеличивается размер хэш-таблиц для хранения информации в виду большого количества проксируемых сервисов
client_max_body_size
1m
10m
Увеличивается допустимый размер загружаемых в систему файлов
server
listen
80
443 ssl
Изменяется порт прослушивания на протокол HTTPS, по умолчанию nginx настроен на HTTP
3003 ssl
Порт 3003 указывается для дополнительного контекста server в случае использования агентского функционала Rutoken KeyBox
ssl_certificate
—
/etc/ssl/private/SSL.crt
Для работы по HTTPS указывается путь к файлу с цепочкой сертификатов (SSL сертификат, сертификаты промежуточного и корневого УЦ)
ssl_certificate_key
—
/etc/ssl/private/SSL.key
Для работы по HTTPS указывается путь к закрытому ключу SSL сертификата
ssl_verify_client
off
optional_no_ca
Добавляется в случае авторизации по сертификату (используется клиентскими агентами)
location
proxy_pass
—
*
Один экземпляр контекста location направляет запросы на один адрес — сервис Rutoken KeyBox. Таким образом, контекстов location должно быть столько, сколько есть сервисов Rutoken KeyBox.
Точка проксирования указывается в формате: http://localhost:PORT/cm/SERVICENAME http://localhost:PORT/AGENTSERVICENAME* Где необходимо указать PORT — порт, на котором запущен сервис Rutoken KeyBox, а также SERVICENAME и AGENTSERVICENAME — имя запущенного сервиса
include
—
/etc/nginx/conf.d/proxy.conf
Некоторые директивы описываются для каждого location, и для компактности конфигурационного файла рекомендуется создать файл с часто используемым набором директив и подключать его в каждый location вместо описывания набора целиком
proxy_http_version
1.0
1.1
Версия 1.1 рекомендуется для keepalive подключений и NTLM аутентификации
proxy_cache_bypass
—
$http_upgrade
Определяет условия, при которых ответ не будет браться из кэша
proxy_set_header
—
Upgrade $http_upgrade
Определяет переход с HTTP/1.1 на веб-socket после установления соединения
Connection keep-alive
Для использования keepalive подключений
Host $host
Для сохранения в заголовках имени nginx сервера при их передаче сервисам Rutoken KeyBox
X-Real-IP $remote_addr
По умолчанию работа в режиме обратного прокси использует нестандартные заголовки о пользовательском IP адресе, что требует задания данной директивы
X-Forwarded-For $proxy_add_x_forwarded_for
Подобно X-Real-IP $remote_addr, определяет формирование заголовка для корректного проксирования. Если поле X-Forwarded-For не присутствовало в изначальном заголовке, то $proxy_add_x_forwarded_for = $remote_addr
X-Forwarded-Proto $scheme
Веб-сервер принимает запросы по HTTPS и проксирует их к HTTP сервисам Rutoken KeyBox для корректной подмены протокола
fastcgi_buffers
8 4k|8k
16 16k
Определяет количество и размер буферов для чтения ответов от FastCGI сервера, на одно подключение
fastcgi_buffer_size
4k|8k
32k
Определяет размер буфера для чтения первой части ответа от FastCGI сервера
proxy_set_header
—
x-ssl-client-cert $ssl_client_escaped_cert
Директива передавать клиентский сертификат при проксировании. Используется клиентскими агентами для авторизации по сертификату
Вследствие использования в конфигурации многократного описания контекстовlocation, определенный набор директив будет повторяться.
Для удобства конфигурации вынесите данный набор директив в отдельный файл, а в описании контекста включите директивы из данного файла (директиваinclude).
Создайте файл с многократно используемыми директивами. Можно разместить такой файл с расширением CONF в каталоге/etc/nginx/conf.d/.
Рекомендуемое содержимое файла proxy.conf для работы с Rutoken KeyBox
Примените изменения в конфигурационном файле. Для этого перезагрузите конфигурацию или перезапустите nginx. Для перезагрузки конфигурации выполните команду:
sudo nginx -s reload
Debian-based
Установка веб-сервера
Установите пакеты, необходимые для подключения apt-репозитория:
Сделайте сертификат доверенным в домене, например, с помощью групповых политик.
Выдайте учетной записи www-data права на чтение файлов сертификата.
Настройка конфигурационного файла
Для работы Рутокен KeyBox требуется настроить nginx, чтобы он обслуживал запросы и отправлял их на проксируемый адрес – сервис RutokenKeyBox.
Работа nginx и его модулей определяется в конфигурационном файлеnginx.conf. В зависимости от операционной системы он расположен в каталоге/usr/local/nginx/conf,/etc/nginxили/usr/local/etc/nginx.
Контекст
Директива
Значение по умолчанию
Рекомендуемое значение
Комментарий
http
proxy_buffer_size
4k|8k
16k
Увеличивается размер прокси буферов для передачи необходимой информации в http-запросах
proxy_buffers
8 4k|8 8k
4 16k
Увеличивается размер прокси буферов для передачи необходимой информации в http-запросах
types_hash_max_size
1024
4096
Увеличивается размер хэш-таблиц для хранения информации в виду большого количества проксируемых сервисов.
client_max_body_size
1m
10m
Увеличивается допустимый размер загружаемых в систему файлов
server
listen
80
443 ssl
Изменяется порт прослушивания на протокол HTTPS, по умолчанию nginx настроен на HTTP
3003 ssl
Порт 3003 указывается для дополнительного контекста server в случае использования агентского функционала Rutoken KeyBox
ssl_certificate
—
/etc/ssl/private/SSL.crt
Для работы по HTTPS указывается путь к файлу с цепочкой сертификатов (SSL сертификат, сертификаты промежуточного и корневого УЦ)
ssl_certificate_key
—
/etc/ssl/private/SSL.key
Для работы по HTTPS указывается путь к закрытому ключу SSL сертификата
ssl_verify_client
off
optional_no_ca
Добавляется в случае авторизации по сертификату (используется клиентскими агентами)
location
proxy_pass
—
*
Один экземпляр контекста location направляет запросы на один адрес — сервис Rutoken KeyBox. Таким образом, контекстов location должно быть столько, сколько есть сервисов Rutoken KeyBox.
Точка проксирования указывается в формате: http://localhost:PORT/cm/SERVICENAME http://localhost:PORT/AGENTSERVICENAME* Где необходимо указать PORT — порт, на котором запущен сервис Rutoken KeyBox, а также SERVICENAME и AGENTSERVICENAME — имя запущенного сервиса
include
—
/etc/nginx/conf.d/proxy.conf
Некоторые директивы описываются для каждого location, и для компактности конфигурационного файла рекомендуется создать файл с часто используемым набором директив и подключать его в каждый location вместо описывания набора целиком
proxy_http_version
1.0
1.1
Версия 1.1 рекомендуется для keepalive подключений и NTLM аутентификации
proxy_cache_bypass
—
$http_upgrade
Определяет условия, при которых ответ не будет браться из кэша
proxy_set_header
—
Upgrade $http_upgrade
Определяет переход с HTTP/1.1 на веб-socket после установления соединения
Connection keep-alive
Для использования keepalive подключений
Host $host
Для сохранения в заголовках имени nginx сервера при их передаче сервисам Rutoken KeyBox
X-Real-IP $remote_addr
По умолчанию работа в режиме обратного прокси использует нестандартные заголовки о пользовательском IP адресе, что требует задания данной директивы
X-Forwarded-For $proxy_add_x_forwarded_for
Подобно X-Real-IP $remote_addr, определяет формирование заголовка для корректного проксирования. Если поле X-Forwarded-For не присутствовало в изначальном заголовке, то $proxy_add_x_forwarded_for = $remote_addr
X-Forwarded-Proto $scheme
Веб-сервер принимает запросы по HTTPS и проксирует их к HTTP сервисам Rutoken KeyBox для корректной подмены протокола
fastcgi_buffers
8 4k|8k
16 16k
Определяет количество и размер буферов для чтения ответов от FastCGI сервера, на одно подключение
fastcgi_buffer_size
4k|8k
32k
Определяет размер буфера для чтения первой части ответа от FastCGI сервера
proxy_set_header
—
x-ssl-client-cert $ssl_client_escaped_cert
Директива передавать клиентский сертификат при проксировании. Используется клиентскими агентами для авторизации по сертификату
Из-за использования в конфигурации многократного описания контекстовlocation, определенный набор директив будет повторяться.
Для удобства конфигурации вынесите данный набор директив в отдельный файл, а в описании контекста включите директивы из данного файла (директиваinclude).
Создайте файл с многократно используемыми директивами. Можно разместить такой файл с расширением CONF в каталоге/etc/nginx/conf.d/.
Рекомендуемое содержимое файла proxy.conf для работы с Rutoken KeyBox
Примените изменения в конфигурационном файле. Для этого перезагрузите конфигурацию или перезапустите nginx. Для перезагрузки конфигурации выполните команду: