Документация только для TMS версии 3.2.x
Для получения ssl сертификата letsencrypt, сервер должен иметь публичный (доступный из интернета) домен и IP адрес.
apt update && apt install nginx
unzip nginx_sample_configs.zip
cd nginx_sample_configs/ rm -f /etc/nginx/conf.d/default.conf cp virtualhost_sample.conf /etc/nginx/conf.d/ mkdir -p /etc/nginx/tvip/ cp tms-locations.conf /etc/nginx/tvip/
Редактируем конфигурационный файл tvip-tms в любом редакторе, для примера vim
vim /opt/tvip-tms/application-prod.properties
В нем добавляем следующие параметры
server.port=8080 network.trusted-proxies=127.0.0.1 server.address=127.0.0.1
systemctl restart tvip-tms systemctl restart nginx
apt install certbot
Создаем постоянную директорию для проверки домена ботом
mkdir -p /var/www/html/.well-known/acme-challenge
Конфигурируем certbot
certbot register --agree-tos --m ваш_email
certbot certonly -d ваш_домен --webroot
Отвечаем на вопросы бота
Input the webroot for ваш_домен: (Enter 'c' to cancel): /var/www/html/
Добавить в файл крона
nano /etc/cron.d/certbot
Итоговый файл должен выглядить следующим образом
0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew --renew -hook "/etc/init.d/nginx reload"
После успешного полученая сертификата сертификат и ключ будут расположены по адресу:
Редактируем файл конфигурации виртуального хоста, приводим к виду
proxy_cache_path /cache levels=1:2 keys_zone=ram:10m inactive=21600s max_size=1900m; proxy_cache_min_uses 1; upstream tms { server 127.0.0.1:8080; # UPSTREAM TO TMS TMS bind port 8080 on localhost } server { listen 80; server_name ваш_домен; # Указываем Ваш домен server_tokens off; access_log /var/log/nginx/localhost-http-access.log; error_log /var/log/nginx/localhost-http-error.log; underscores_in_headers on; large_client_header_buffers 8 32k; include /etc/nginx/tvip/tms-locations.conf; location /.well-known { root /var/www/html; } } server { listen 443 ssl; server_name ваш_домен; # Указываем Ваш домен access_log /var/log/nginx/localhost-https-access.log; error_log /var/log/nginx/localhost-https-error.log; ssl_certificate /etc/letsencrypt/live/ваш_домен/fullchain.pem; # Указываем Ваш домен ssl_certificate_key /etc/letsencrypt/live/ваш_домен/privkey.pem; # Указываем Ваш домен ssl_trusted_certificate /etc/letsencrypt/live/ваш_домен/chain.pem; # Указываем Ваш домен ssl_dhparam /etc/ssl/dhparam.pem; ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1 TLSv1; ssl_prefer_server_ciphers on; ssl_ciphers EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA512:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:ECDH+AESGCM:ECDH+AES256:DH+AESGCM:DH+AES256:RSA+AESGCM:!aNULL:!eNULL:!LOW:!RC4:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS; ssl_session_cache shared:TLS:2m; ssl_buffer_size 4k; ssl_stapling on; ssl_stapling_verify on; add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains; preload' always; include /etc/nginx/tvip/tms-locations.conf;
Применяем конфигурацию
systemctl reload nginx