NGINX
Для работы серверных компонентов Indeed CM на ОС Linux настройте веб-сервер Nginx в качестве обратного прокси-сервера.
- RHEL-based
- Debian-based
RHEL и производные дистрибутивы
Установка
Для установки Nginx должен быть подключен и настроен репозиторий пакетов nginx. Если это не было сделано автоматически, добавьте репозиторий вручную.
Установите пакеты, необходимые для подключения yum-репозитория:
sudo yum install yum-utils
Для подключения yum-репозитория создайте файл с именем /etc/yum.repos.d/nginx.repo со следующим содержимым:
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=trueВыполните следующую команду:
sudo yum install nginx
В случае запроса подтверждения GPG-ключа проверьте, что отпечаток ключа совпадает с 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62.
Документация по установке на прочие ОС доступна на портале NGINX.
Выпуск SSL/TLS сертификата
Для настройки защищенного соединения выпустите SSL/TLS сертификат на имя рабочей станции с установленным nginx. Используйте самоподписанный сертификат или выпустите сертификат на УЦ.
- Самоподписанный сертификат
- Выпуск сертификата на УЦ
Создайте самоподписанный корневой сертификат утилитой openssl:
openssl genrsa -out ca.key 2048
openssl req -x509 -new -nodes -key ca.key -out ca.crt -days 3650 -subj "/CN=selfCA"Создайте файл конфигурации SSL.conf, который содержит настройки для генерации запроса на сертификат веб-сервера (вместо SERVER_FQDN подставьте DNS-имя рабочей станции с nginx):
nano SSL.conf
Пример файла SSL.conf для генерации самоподписанного сертификата
[ req ]
default_bits = 2048
encrypt_key = no
default_md = sha256
utf8 = yes
string_mask = utf8only
prompt = no
distinguished_name = req_distinguished_name
req_extensions = req_ext
[ req_distinguished_name ]
commonName = SERVER_FQDN
[ req_ext ]
subjectAltName = @alt_names
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
basicConstraints = CA:FALSE
extendedKeyUsage = serverAuth
[alt_names]
DNS.1 = SERVER_FQDNСоздайте утилитой openssl запрос на сертификат и выпустите сертификат для веб-сервера с помощью самоподписанного сертификата:
openssl genrsa -out SSL.key 2048
openssl req -new -sha256 -out SSL.csr -key SSL.key -config SSL.conf
openssl x509 -req -days 365 -in SSL.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile SSL.conf -extensions req_ext -out SSL.crtСкопируйте файлы сертификата и ключа в папку, которая указана в файле конфигурации nginx:
sudo cp ./SSL.crt /etc/ssl/private/
sudo cp ./SSL.key /etc/ssl/private/Добавьте сертификат корневого УЦ в доверенные на рабочей станции с установленным nginx.
sudo cp ./ca.crt /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust extractСделайте сертификат доверенным в домене, например, с помощью групповых политик.
Выпустите сертификат на УЦ, например на Microsoft CA, экспортируйте данный сертификат в формате PFX (с закрытым ключом, с цепочкой корневых/промежуточных УЦ) на рабочую станцию с установленным nginx.
требования к сертификату- Субъект (Subject) сертификата содержит FQDN сервера Indeed CM.
- Дополнительное имя субъекта (Subject Alternative Name) сертификата содержит атрибут DNS-имя (DNS Name) (FQDN сервера Indeed CM). Например: server.demo.local или соответствующую запись с подстановочными знаками, например: .demo.local (Wildcard certificate).
- Улучшенный ключ (Enhanced Key Usage) сертификата должен содержать значение "Проверка подлинности сервера" (Server Authentication).
Добавьте сертификат корневого УЦ в доверенные на рабочей станции с установленным nginx.
sudo cp ./root-ca.crt /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust extractРазделите PFX сертификат на файл цепочки сертификатов и ключ, оставьте файл ключа без пароля и подставьте имя импортированного файла вместо PFXFILE:
openssl pkcs12 -in PFXFILE.pfx -chain -nokeys | sed -ne '/-BEGIN CERTIFICATE/,/END CERTIFICATE/p' > SSL.crt
openssl pkcs12 -in PFXFILE.pfx -nocerts -out SSLencrypted.key
openssl rsa -in SSLencrypted.key -out SSL.keyФайл цепочки сертификатов должен быть следующего вида:
-----BEGIN CERTIFICATE-----
#Ваш сертификат#
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
#Промежуточный сертификат#
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
#Корневой сертификат#
-----END CERTIFICATE-----Скопируйте файлы цепочки сертификатов и ключа в папку, которая указана в файле конфигурации nginx:
sudo cp ./SSL.crt /etc/ssl/private/
sudo cp ./SSL.key /etc/ssl/private/
Настройка конфигурационного файла
Для работы Indeed CM настройте nginx, чтобы веб-сервер обслуживал запросы и отправлял их на проксируемый адрес – сервис Indeed CM.
Работа 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 в случае использования агентского функционала Indeed CM. | |||
server_name | — | * | * Требуется указать, обычно совпадает с именем машины, на которой установлен nginx. Используется для фильтра обработки запросов. | |
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 направляет запросы на один адрес — сервис Indeed CM. Таким образом, контекстов location должно быть столько, сколько есть сервисов Indeed CM. Точка проксирования указывается в формате: http://localhost:PORT/cm/SERVICENAME http://localhost:PORT/AGENTSERVICENAME* Где необходимо указать PORT — порт, на котором запущен сервис Indeed CM, а также 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 сервера при их передаче сервисам Indeed CM. | |||
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 сервисам Indeed CM для корректной подмены протокола. | |||
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 для работы с Indeed CMproxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;Сконфигурируйте основной файл конфигурации nginx. Имена контекстов location должны совпадать с путем к проксируемому сервису.
Пример файла nginx.conf для работы с Indeed CM
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
events { worker_connections 1024; }
http {
proxy_buffer_size 64k;
proxy_buffers 4 64k;
types_hash_max_size 4096;
add_header X-Frame-Options sameorigin always;
add_header X-Content-Type-Options nosniff;
log_format main '[$time_local] $remote_addr VIA $scheme --- $status --- $request \n $ssl_client_fingerprint';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
include /etc/nginx/mime.types;
default_type application/octet-stream;
server {
listen 443 ssl;
server_name server.demo.local;
ssl_certificate "/etc/ssl/private/SSL.crt";
ssl_certificate_key "/etc/ssl/private/SSL.key";
location /cm/oidc
{ include /etc/nginx/conf.d/proxy.conf; proxy_pass http://localhost:5008/cm/oidc; }
location /cm/mc
{ include /etc/nginx/conf.d/proxy.conf; proxy_pass http://localhost:5001/cm/mc; }
location /cm/ss
{ include /etc/nginx/conf.d/proxy.conf; proxy_pass http://localhost:5002/cm/ss; }
location /cm/rss
{ include /etc/nginx/conf.d/proxy.conf; proxy_pass http://localhost:5003/cm/rss; }
location /cm/api
{ include /etc/nginx/conf.d/proxy.conf; proxy_pass http://localhost:5004/cm/api; }
location /cm/credprovapi
{ include /etc/nginx/conf.d/proxy.conf; proxy_pass http://localhost:5005/cm/credprovapi; }
location /cm/wizard
{ proxy_pass http://localhost:5009; }
}
server {
listen 3003 ssl;
server_name server.demo.local;
ssl_certificate "/etc/ssl/private/SSL.crt";
ssl_certificate_key "/etc/ssl/private/SSL.key";
ssl_verify_client optional_no_ca;
location /agentregistrationapi
{ include /etc/nginx/conf.d/proxy.conf; proxy_pass http://localhost:5006/agentregistrationapi; }
location /agentserviceapi
{ include /etc/nginx/conf.d/proxy.conf; proxy_pass http://localhost:5007/agentserviceapi;
proxy_set_header x-ssl-client-cert $ssl_client_escaped_cert; }
}
}Примените изменения в конфигурационном файле. Для этого перезагрузите конфигурацию или перезапустите nginx. Для перезагрузки конфигурации выполните команду:
nginx -s reload
Debian и производные дистрибутивы
Установка
Установите пакеты, необходимые для подключения apt-репозитория:
Ubuntu:
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring
Debian:
sudo apt install curl gnupg2 ca-certificates lsb-release debian-archive-keyring
Импортируйте официальный ключ, используемый apt для проверки подлинности пакетов:
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Для подключения apt-репозитория выполните следующую команду:
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
Выполните следующую команду:
sudo apt update
sudo apt install nginx
Документация по установке на прочие ОС доступна на портале NGINX.
Выпуск SSL/TLS сертификата
Для настройки защищенного соединения выпустите SSL/TLS сертификат на имя рабочей станции с установленным nginx. Используйте самоподписанный сертификат или выпустите сертификат на УЦ.
- Самоподписанный сертификат
- Выпуск сертификата на УЦ
Создайте самоподписанный корневой сертификат утилитой openssl:
openssl genrsa -out ca.key 2048
openssl req -x509 -new -nodes -key ca.key -out ca.crt -days 3650 -subj "/CN=selfCA"Создайте файл конфигурации SSL.conf, который содержит настройки для генерации запроса на сертификат веб-сервера (вместо SERVER_FQDN подставьте DNS-имя рабочей станции с установленным nginx):
nano SSL.conf
Пример файла SSL.conf для генерации самоподписанного сертификата
[ req ]
default_bits = 2048
encrypt_key = no
default_md = sha256
utf8 = yes
string_mask = utf8only
prompt = no
distinguished_name = req_distinguished_name
req_extensions = req_ext
[ req_distinguished_name ]
commonName = SERVER_FQDN
[ req_ext ]
subjectAltName = @alt_names
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
basicConstraints = CA:FALSE
extendedKeyUsage = serverAuth
[alt_names]
DNS.1 = SERVER_FQDNСоздайте утилитой openssl запрос на сертификат и выпустите сертификат для веб-сервера с помощью самоподписанного сертификата:
openssl genrsa -out SSL.key 2048
openssl req -new -sha256 -out SSL.csr -key SSL.key -config SSL.conf
openssl x509 -req -days 365 -in SSL.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile SSL.conf -extensions req_ext -out SSL.crtСкопируйте файлы сертификата и ключа в папку, которая указана в файле конфигурации nginx:
sudo cp ./SSL.crt /etc/ssl/private/
sudo cp ./SSL.key /etc/ssl/private/Добавьте сертификат корневого УЦ в доверенные на рабочей станции с установленным nginx.
sudo cp ./ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates -fСделайте сертификат доверенным в домене, например, с помощью групповых политик.
Выпустите сертификат на УЦ, например на Microsoft CA, и экспортируйте сертификат в формате PFX (с закрытым ключом, с цепочкой корневых/промежуточных УЦ) на рабочую станцию с установленным nginx.
требования к сертификату- Субъект (Subject) сертификата содержит FQDN сервера Indeed CM.
- Дополнительное имя субъекта (Subject Alternative Name) сертификата содержит атрибут DNS-имя (DNS Name) (FQDN сервера Indeed CM). Например: server.demo.local или соответствующую запись с подстановочными знаками, например: .demo.local (Wildcard certificate).
- Улучшенный ключ (Enhanced Key Usage) сертификата должен содержать значение "Проверка подлинности сервера" (Server Authentication).
Добавьте сертификат корневого УЦ в доверенные на рабочей станции с установленным nginx.
sudo cp ./root-ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates -fРазделите PFX сертификат на файл цепочки сертификатов и ключ, оставьте файл ключа без пароля и подставьте имя импортированного файла вместо PFXFILE:
openssl pkcs12 -in PFXFILE.pfx -chain -nokeys | sed -ne '/-BEGIN CERTIFICATE/,/END CERTIFICATE/p' > SSL.crt
openssl pkcs12 -in PFXFILE.pfx -nocerts -out SSLencrypted.key
openssl rsa -in SSLencrypted.key -out SSL.keyФайл цепочки сертификатов должен быть следующего вида:
-----BEGIN CERTIFICATE-----
#Ваш сертификат#
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
#Промежуточный сертификат#
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
#Корневой сертификат#
-----END CERTIFICATE-----Скопируйте файлы цепочки сертификатов и ключа в папку, которая указана в файле конфигурации nginx:
sudo cp ./SSL.crt /etc/ssl/private/
sudo cp ./SSL.key /etc/ssl/private/
Настройка конфигурационного файла
Для работы Indeed CM требуется настроить nginx, чтобы он обслуживал запросы и отправлял их на проксируемый адрес – сервис Indeed CM.
Работа 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 в случае использования агентского функционала Indeed CM. | |||
server_name | — | * | * Требуется указать, обычно совпадает с именем машины, на которой установлен nginx. Используется для фильтра обработки запросов. | |
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 направляет запросы на один адрес — сервис Indeed CM. Таким образом, контекстов location должно быть столько, сколько есть сервисов Indeed CM. Точка проксирования указывается в формате: http://localhost:PORT/cm/SERVICENAME http://localhost:PORT/AGENTSERVICENAME* Где необходимо указать PORT — порт, на котором запущен сервис Indeed CM, а также 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 сервера при их передаче сервисам Indeed CM. | |||
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 сервисам Indeed CM для корректной подмены протокола. | |||
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 для работы с Indeed CMproxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;Сконфигурируйте основной файл конфигурации nginx. Имена контекстов location должны совпадать с путем к проксируемому сервису.
Пример файла nginx.conf для работы с Indeed CM
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
events { worker_connections 1024; }
http {
proxy_buffer_size 64k;
proxy_buffers 4 64k;
types_hash_max_size 4096;
add_header X-Frame-Options sameorigin always;
add_header X-Content-Type-Options nosniff;
log_format main '[$time_local] $remote_addr VIA $scheme --- $status --- $request \n $ssl_client_fingerprint';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
include /etc/nginx/mime.types;
default_type application/octet-stream;
server {
listen 443 ssl;
server_name server.demo.local;
ssl_certificate "/etc/ssl/private/SSL.crt";
ssl_certificate_key "/etc/ssl/private/SSL.key";
location /cm/oidc
{ include /etc/nginx/conf.d/proxy.conf; proxy_pass http://localhost:5008/cm/oidc; }
location /cm/mc
{ include /etc/nginx/conf.d/proxy.conf; proxy_pass http://localhost:5001/cm/mc; }
location /cm/ss
{ include /etc/nginx/conf.d/proxy.conf; proxy_pass http://localhost:5002/cm/ss; }
location /cm/rss
{ include /etc/nginx/conf.d/proxy.conf; proxy_pass http://localhost:5003/cm/rss; }
location /cm/api
{ include /etc/nginx/conf.d/proxy.conf; proxy_pass http://localhost:5004/cm/api; }
location /cm/credprovapi
{ include /etc/nginx/conf.d/proxy.conf; proxy_pass http://localhost:5005/cm/credprovapi; }
location /cm/wizard
{ proxy_pass http://localhost:5009; }
}
server {
listen 3003 ssl;
server_name server.demo.local;
ssl_certificate "/etc/ssl/private/SSL.crt";
ssl_certificate_key "/etc/ssl/private/SSL.key";
ssl_verify_client optional_no_ca;
location /agentregistrationapi
{ include /etc/nginx/conf.d/proxy.conf; proxy_pass http://localhost:5006/agentregistrationapi; }
location /agentserviceapi
{ include /etc/nginx/conf.d/proxy.conf; proxy_pass http://localhost:5007/agentserviceapi;
proxy_set_header x-ssl-client-cert $ssl_client_escaped_cert; }
}
}Примените изменения в конфигурационном файле. Для этого перезагрузите конфигурацию или перезапустите nginx. Для перезагрузки конфигурации выполните команду:
nginx -s reload