Включить Redmine Https TLS 13 » История » Редакция 6
« Предыдущее |
Редакция 6/10
(Разница(diff))
| Следующее »
Redmine Admin, 16.01.2026 11:24
Включить Redmine Https TLS 13¶
Рекомендуемый путь: Создать самоподписанный сертификат (бесплатно, без DNS)¶
Это не требует публичного домена, работает по IP или любому имени, и подходит для тестовой среды.
1. Создайте самоподписанный сертификат:¶
sudo mkdir -p /etc/ssl/redmine
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
-keyout /etc/ssl/redmine/privkey.pem \
-out /etc/ssl/redmine/fullchain.pem \
-subj "/CN=192.168.168.93"
Мы используем IP-адрес как CN (Common Name), так как у вас нет DNS.
Для браузеров это не идеально (лучше Subject Alternative Name), но для теста — нормально.
2. Обновите конфиг Apache (/etc/apache2/sites-available/redmine.conf):¶
Добавьте блок для порта 443:
<VirtualHost *:443>
ServerName 192.168.168.93
HttpProtocolOptions Unsafe
DocumentRoot /var/www/redmine/public
<Directory /var/www/redmine/public>
Options -MultiViews
Require all granted
AllowOverride All
</Directory>
SSLEngine on
SSLCertificateFile /etc/ssl/redmine/fullchain.pem
SSLCertificateKeyFile /etc/ssl/redmine/privkey.pem
ErrorLog ${APACHE_LOG_DIR}/redmine_ssl_error.log
CustomLog ${APACHE_LOG_DIR}/redmine_ssl_access.log combined
</VirtualHost>
И измените ваш HTTP-блок на редирект (опционально):
<VirtualHost *:80>
ServerName 192.168.168.93
Redirect permanent / https://192.168.168.93/
</VirtualHost>
В итоге конфиг будет иметь вид:
<VirtualHost *:80>
ServerName 192.168.168.93
ServerAlias alexnet.crazedns.ru
# Разрешить Host-заголовки с портом (например, :5080)
HttpProtocolOptions Unsafe
DocumentRoot /var/www/redmine/public
Options -MultiViews
Require all granted
AllowOverride All
ErrorLog ${APACHE_LOG_DIR}/redmine_error.log
CustomLog ${APACHE_LOG_DIR}/redmine_access.log combined
/VirtualHost>
3. Включите модуль SSL и перезапустите Apache:¶
sudo a2enmod ssl
sudo systemctl restart apache2
4. Откройте в браузере:¶
https://192.168.168.93
Браузер покажет предупреждение "Небезопасное соединение" — это нормально для самоподписанных сертификатов. Нажмите «Дополнительно» → «Перейти на сайт» (или аналог в вашем браузере).
🔒 Чтобы избежать предупреждения в будущем, можно импортировать сертификат fullchain.pem в доверенные корневые сертификаты вашей ОС (Windows/Linux/macOS), но для теста это обычно не нужно.
❌ Нельзя сделать:¶
- HTTPS без сертификата — Apache (и любой веб-сервер) не запустит SSL-соединение без ключа и сертификата.
- Использовать Let’s Encrypt без публичного DNS и открытого порта 80 — не сработает в локальной сети.
💡 Альтернатива (если не хотите возиться с HTTPS вообще):¶
Если вам не требуется именно HTTPS, а задача — просто "перевести Redmine на HTTPS" формально, то в тестовой среде можно оставить HTTP. Но учтите:
- Современные браузеры могут блокировать некоторые функции (например, геолокацию, куки без флага Secure).
- Если вы тестируете интеграции, требующие HTTPS (OAuth, API с strict transport), тогда HTTPS обязателен.
Вывод:¶
👉 Да, вы можете включить HTTPS без публичного DNS — через самоподписанный сертификат. Это стандартная практика для локальных/тестовых серверов.
Обновлено Redmine Admin 7 месяца назад · 10 изменени(я, ий)