Содержание
Настройка https на сервере
Хотя веб-сервер и может работать по протоколу HTTPS, его работа в этом режиме пока еще нестабильна. Но выход есть — использование веб-сервера nginx в качестве обратного прокси.
В этом руководстве рассмотрим установку и настройку nginx, а также получение бесплатного сертификата Lets’Encrypt. Как всегда, в качестве подопытной системы выступает сервер VDS с Ubuntu 22.04.
Очень важно, чтобы у вас был домен, для которого нужно получить сертификат. Сервер VDS предоставляет вам определенный домен. Если вас не устраивает имя домена и у вас есть хостинг, вы можете в панели управления хостингом создать домен и привязать к нему IP-адрес VDS. Подробнее об этом узнавайте у своего хостера.
У вас уже должны быть установлены и настроены СУБД Firebird и DataExpress Web Server. Если вы этого еще не сделали, то читайте здесь и здесь и здесь.
Если веб-сервер DataExpress использует порт 80, то его нужно поменять на другой, т. к. этот порт нужен будет серверу nginx. Смените порт, например на 8080.
Итак, устанавливаем веб-сервер nginx.
# apt install nginx
Получение сертификата
Для получения сертификата воспользуемся популярной утилитой certbot.
# apt install certbot python3-certbot-nginx # certbot --nginx
В процессе установки вам потребуется ввести e-mail. Он понадобится для срочных обновлений и уведомлений безопасности. Далее нужно согласиться с условиями сервиса. Затем вас спросят хотите ли вы получать новости от Electronic Frontier Foundation. Соглашаться необязательно. И на последнем шаге нужно ввести имя вашего домена. Через несколько секунд вы получите сертификат. Если сертификат получен успешно, то в сообщениях вы должны увидеть: Successfully received certificate. Автопродление сертификата уже настроено автоматически.
Настройка обратного прокси
Ваша задача вставить готовые настройки в файл /etc/nginx/sites-available/default.
location ~* /(img|/cache|/html|/demodb) { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_cache off; }
Вставляем настройки после параметров SSL, в конец секции server. Вместо demodb укажите свою базу данных. Если у вас их несколько, то продолжите регулярное выражение, отделяя каждую базу вертикальной чертой. Например: /(img|cache|html|mybase1|db2)
Перезагружаем nginx:
# systemctl restart nginx
На этом настройка https закончена. Проверяйте.