Сегодня будет технический пост, расскажу, как мы настроили обратный прокси для онпрема 1С-Элемент на Nginx с SSL-сертификатами Let`s Encrypt.
Текст получился большой, Телеграм не самая удобная платформа, поэтому будет 3 части.
Возможно, опыт кому-то будет полезен, а может кто-то в комментариях подскажет слабое место, или, что я упустил. Все реальные адреса в тексте заменены на произвольные. В конце сообщения по ссылке приложены конфиги Nginx, которые можно взять за шаблон.
При настройке Nginx я опирался на 3 инструкции:
🟠Родная, из документации 1С-Элемент: Установка и настройка обратного прокси-сервера nginx
🟠Ещё родная про заголовки X-Forwarded: Обратный прокси-сервер
🟠Найденная на просторах интернета, Уварова А.С.: interface31.ru
Итак, какие исходные данные?
🟠Имеем в локальной сети сервер на Ubuntu 24.10 с работающим сервером 1С-Элемент и установленным и подключенным Gitlab.
🟠Локальный адрес сервера 192.168.0.100
🟠 Сервер элемент работает на портах 9090 и 9091, по умолчанию.
🟠Есть белый IP, локальная сеть находится за роутером, который отсекает лишние порты.
🟠Белый IP: 40.41.42.42
🟠Есть домен 3 уровня 1c-element.somesite.ru на котором мы хотим показать клиенту результаты разработки, либо развернуть продуктовое приложение.
🟠Есть веб-публикация 1С на локальном адресе 192.168.0.200, которая сейчас проброшена на внешний 80ый порт и работает на домене demo1c.somesite.ru/Baza1C
🟠Нужно предоставить доступ к демо-приложению на 1С-Элемент, с локальным адресом: 192.168.0.100:9090/applications/demo-app
1️⃣Установка Nginx
Я приведу путь, которым прошёл сам) а подробности по ссылке, поскольку впихнуть в пост телеграмма всё подробно не получится.
apt update
apt install nginx
systemctl start nginx
systemctl status nginx
❗️ВАЖНЫЙ МОМЕНТ!
Если установили Git, то обратный Nginx у вас уже работает и порты 80 и 443 заняты Gitlab. Я настраивать этот же Nginx как обратный прокси-сервер не захотел, так как вероятен переезд Nginx на другой сервер, так же не захотел переносить Gitlab на другие порты, поэтому сразу после установки Nginx, исправляем конфигурацию на порты 88 и 1443.
Создадим каталоги для хранения настроек для доменов:
mkdir /etc/nginx/sites-available
mkdir /etc/nginx/sites-enabled
Откроем файл "/etc/nginx/nginx.conf" и после строки
include /etc/nginx/conf.d/*.conf;
Добавим:
include /etc/nginx/sites-enabled/*;
Таким образом мы выполнили установку и базовую подготовку Nginx, далее нужно подготовить правильные конфигурационные файлы.
Но сперва…
2️⃣Привязка домена, проброс портов
В панели управления хостинг провайдера у поддомена 3 уровня (1c-element.somesite.ru) удаляем A-записи, и добавляем новую A 40.41.42.42 - таким образом говорим системе DNS куда отправлять запросы для этого домена.
Часть 2>>
Часть 3 >>
#онпрем #onpremis #опыт
Всё об 1С:Элемент