перенаправление http на https не работает (Letsencrypt) - PullRequest
0 голосов
/ 11 февраля 2019

Я просмотрел все подобные темы в Интернете, похоже, я не могу найти решение.

Я успешно установил сертификат Let's Encrypt, но не могу выполнить автоматическое перенаправление сhttp для работы.Перенаправление устанавливается certbot (установочный скрипт Letsencrypt) через файл /etc/apache2/sites-available/domain.com.conf.Вот содержимое файла:

<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
ServerAdmin webmaster@localhost
DocumentRoot /home/username/public_html/domain.com/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

RewriteEngine on
RewriteCond %{SERVER_NAME} =www.domain.com [OR]
RewriteCond %{SERVER_NAME} =domain.com
RewriteCond %{THE_REQUEST} !/(robots.txt|sitemap.xml)\s [NC]
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

Файл правильно связан с символьной ссылкой с поддержкой сайтов.Я попытался перезагрузить / перезапустить службу apache2, попытался отключить локальный файл .htaccess для этого сайта, но все безрезультатно.Я просканировал все файлы .conf и убедился, что этот домен не указан ни в одном другом файле .conf.Странно то, что редирект работает с некоторыми моими сайтами, расположенными на одном сервере, но с некоторыми - нет.

Я пробовал просматривать файлы журналов, но не нашел ничего конкретного.

Пожалуйста, помогите!

1 Ответ

0 голосов
/ 11 февраля 2019

Нашел его.

Причина была в том, что я перенес некоторые домены с другого сервера, поэтому скопировал все файлы .conf оттуда.Поскольку IP-адрес был другим, мне пришлось переиздать и переустановить сертификаты.По какой-то странной причине Certbot создал раздел <VirtualHost *:80> внутри каждого * -le-ssl.conf, но закомментировал раздел перенаправления.Таким образом, вместо файла domain.com.conf файл domain.com-le-ssl.conf фактически использовался для подключения к порту 80.

Решениелибо раскомментировать раздел перенаправления в файле * -le-ssl.conf, либо полностью удалить из него часть <VirtualHost *:80>, чтобы позволить файлу * .conf вступить во владение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...