Настройка работы 1C и Apache по протоколу https на РедОС (nginx)

09.05.24

Администрирование - Администрирование веб-серверов

В материале описан порядок действий по настройке Apache для работы по защищенному протоколу HTTPS c 1С на операционной системе РедОС с выпуском сертификата SSL.

Всем привет!

Данная публикация является своего рода продолжением статьи об установке и настройке контура 1С-Apache по протоколу http. Вот этой: //infostart.ru/1c/articles/2096601/

Итак…

Для работы через защищенный протокол https буду использовать веб-сервер Nginx. Причем уже установленный Apache будет работать только внутри на локальном сетевом интерфейсе. Таким образом, пользователи будут напрямую обращаться не к Apache, а к Nginx, а он уже, в свою очередь, будет пробрасывать подключение к Apache.

  1. Ищу в репозитории Nginx

dnf list nginx

У меня нашлась 25-я версия. Устанавливаю

dnf install nginx.x86_64

После установки пробую запустить службу Nginx, но получаю ошибку

Причина в том, что уже установленный Apache работает на том же порту, что и запускаемый Nginx, а именно – 80-ый. Поэтому, чтобы запустить Nginx, нужно сперва остановить Apache.

Останавливаю Apache и запускаю Nginx

systemctl stop httpd.service

systemctl start nginx.service

Проверяю адрес опубликованной на Apache базы с помощью curl

curl http://srv-*****-linux/H*****K/

Получаю текст с ошибками Nginx в виде html - кричащая “NGINX ERROR!”

На всякий случай смотрю в конфигурационный файл Nginx и вижу там порт 80.

cat /etc/nginx/nginx.conf

  1. Чтобы настроить подключение через Nginx к Apache, нужно у Apache переопределить порт, так как на 80-ом запущу именно Nginx.

Открываю в редакторе конфигурационный файл Apache, нахожу строку «Listen 80» и меняю на «127.0.0.1:8080». Адрес 127.0.0.1 указывает, что Apache не будет работать извне, а только локально.

nano /etc/httpd/conf/httpd.conf

Сохраняю и выхожу из редактора.

  1. Настраиваю Nginx, добавив секцию перенаправления Nginx на адрес 127.0.0.1:8080, т.е. Apache. Открываю в редакторе конфигурационный файл Nginx

nano /etc/nginx/nginx.conf

Перед секцией страницы ошибок добавляю секцию перенаправления

location / {

proxy_pass http://127.0.0.1:8080;

}

Сохраняю и выхожу из редактора. Перезапускаю службу Nginx и запускаю службу Apache.

systemctl restart nginx.service

systemctl start httpd.service

Если теперь проверить адрес опубликованной на Apache базы с помощью curl

curl http://srv-*****-linux/H*****K/

то ошибки Nginx уже не будет

  1. Настраиваю https. Для этого для надежности останавливаю службы Nginx и Apache. Редактирую конфигурационный файл Nginx.

systemctl stop httpd.service

systemctl stop nginx.service

nano /etc/nginx/nginx.conf

Раскомментируем секцию, описывающую работу с https

и добавляю секцию для перенаправления

location / {

proxy_pass http://127.0.0.1:8080;

}

Помимо этого запоминаю пути к файлам сертификата, которые указаны в параметрах ssl_sertificate и ssl_certificate_key.

Создаю каталоги по этим путям

cd /etc/pki/

mkdir nginx

cd nginx

mkdir private

  1. Создаю и настраиваю файл для определения параметров создаваемых сертификата и ключа. Для этого создаю файл в папке pki и добавляю текст

cd /etc/pki/nginx/

touch ssl.conf

nano ssl.conf

По файлу с параметрами с помощью инструмента openssl создаю файлы сертификата и ключа

openssl req -new -newkey rsa:2048 -sha256 -nodes -x509 -days 3653 -config ssl.conf -extensions 'req_ext' -keyout server.key -out server.crt

При корректном создании система сообщает об этом

В каталоге /etc/pki/nginx/ должны появиться файлы сертификата и ключа. Файл ключа перемещаю в каталог /etc/pki/nginx/private, т.к. этот путь указан в конфигурационном файле Nginx

mv server.key /etc/pki/nginx/private/

  1. Запускаю Apache и Nginx. Заодно добавляю Nginx в автозагрузку

systemctl start httpd.service

systemctl enable nginx.service

systemctl start nginx.service

Готово.

    7. Проверяю работу, забив в браузере страницу https://srv-*****-linux/H*****K/

ВАЖНО! По умолчанию с https работает порт 443, поэтому нужно убедиться, что он открыт.

 

На этом пока все. Надеюсь, что данный материал позволит кому-то сэкономить время.

РедОС apache веб-сервер httpd linux nginx ssl

См. также

Публикация на Open Server Panel

Администрирование веб-серверов Системный администратор Программист Бесплатно (free)

Инструкция, как опубликовать веб-сервис с помощью OSPanel.

06.05.2024    784    lostcay    0    

5

Установка Apache на РедОС и публикация 1С по протоколу http

Администрирование веб-серверов Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Статья описывает алгоритм установки, настройки и "сопряжения" с 1С веб-сервера Apache на РедОС. Статья, может, будет полезна тем, кто ищет в сети работающие алгоритмы установки веб-сервера и публикации на нем информационных баз 1С в контуре операционной системы РедОС. Помимо этого в статье рассмотрены некоторые спорные моменты, для анализа которых не удалось найти достаточно информации в сети.

25.04.2024    1957    artemusII    8    

18

Путь самурая. Ставим локальный Сервер взаимодействия

Сервера Администрирование веб-серверов Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подробная пошаговая инструкция (как делал я) установки Сервера взаимодействия версия 22.0.26 на Windows Server 2022. Установка собственного объектного хранилище с помощью системы MinIO (https://min.io/). Настройка Сервера взаимодействия для обмена файлами в сообщениях.

1 стартмани

07.04.2023    15065    VPanin56    46    

77

Публикатор 1С. Как публиковать базы с комфортом

Администрирование веб-серверов Системный администратор Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Сегодня я расскажу вам про публикатор 1С баз. Это приложение, которое позволит с комфортом и удобством управлять зоопарком ваших веб публикаций. Если у вас больше 5 публикаций, и вам надо с ними что-то делать с завидным постоянством. Если для того чтобы опубликовать тестовую базу, вам приходится идти в техподдержку Если вам просто надоело копаться в конфигах, раздумывая, а нигде ли вы не ошиблись в пробелах и запятых - то тогда вам будет интересна эта публикация.

20.03.2023    7356    85    Segate    5    

27

Midnight Commander, установленный с Entware, не выполняет команды и не запускает файлы

Администрирование веб-серверов Linux Системный администратор Программист Бесплатно (free)

Столкнулся с проблемой, установил на роутер Midnigt Commander с репозитория Entware, при попытке выполнения команды программа пишет ошибку "The shell is already running a command". Данная публикация описывает способ решения этой проблемы.

20.03.2023    3733    Eugen-S    2    

3

Контейнер Docker для размещения публикации базы 1С на разных платформах

Администрирование веб-серверов Системный администратор Платформа 1С v8.3 1С:ERP Управление предприятием 2 Россия Бесплатно (free)

Появилась необходимость развернуть на одном хосте две публикации базы, но не на одной платформе, а на разных. Тут я расскажу, как это сделать для версии 8.3.22.1704.

02.02.2023    3871    Sney_Kice    1    

23
Оставьте свое сообщение