Пока у вас нет сертификата, фронтенд Apache не может принимать HTTPS‑запросы. Но это не мешает вам настроить проксирование — просто сначала всё работает через HTTP (порт 80), а после выпуска сертификата вы добавите HTTPS‑виртуальный хост.
🔧 Как проксировать без сертификата
1. Настройте виртуальный хост на 80‑м порту
Пример конфигурации /etc/apache2/sites-available/example.com.conf:
<VirtualHost *:80>
ServerName example.com
ServerAdmin root@skil.su
ProxyPass / http://192.168.0.40:80/
ProxyPassReverse / http://192.168.0.40:80/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
👉 Здесь нет редиректа на HTTPS, потому что сертификата ещё нет.
Фронтенд принимает HTTP‑запросы и проксирует их на бэкенд.
2. Убедитесь, что модули включены
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo systemctl restart apache2
3. Проверьте доступность
Откройте в браузере http://example.com — запрос должен уходить на фронтенд и проксироваться на бэкенд.
4. Выпустите сертификат
Когда DNS настроен и домен доступен извне:
sudo certbot --apache -d example.com
Certbot создаст HTTPS‑виртуальный хост (порт 443) и добавит туда сертификаты.
5. Добавьте редирект на HTTPS
После успешного выпуска сертификата можно вернуть редирект в конфиг на 80‑м порту:
<VirtualHost *:80>
ServerName example.com
RewriteEngine on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</VirtualHost>
📌 Итог:
- До выпуска сертификата → фронтенд работает только на HTTP и проксирует на бэкенд.
- После выпуска → добавляете HTTPS‑виртуальный хост и редиректите весь трафик с 80 на 443.
Итоговый текст конфигурации с использованием сертификата
<VirtualHost *:80>
ServerName example.com
ServerAdmin root@skil.su
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{SERVER_NAME} =zhivyetravy.ru
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
ServerAdmin root@skil.su
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/zhivyetravy.ru/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/zhivyetravy.ru/privkey.pem
ProxyPass / http://192.168.0.40:80/
ProxyPassReverse / http://192.168.0.40:80/
ErrorLog ${APACHE_LOG_DIR}/error_ssl.log
CustomLog ${APACHE_LOG_DIR}/access_ssl.log combined
</VirtualHost>