Принудительное перенаправление https на http в Apache 2.4

Я пытаюсь сделать следующее. У меня есть домен, на котором я публикую. Эта публикация доступна только по http, но мне нужны все запросы по https для перенаправления меня на http, поскольку у меня не установлен и не настроен ssl-сертификат.

Я попытался добавить в файл .htaccess корневого каталога документов, где я В приложении есть следующие строки:

RewriteEngine On
RewriteCond% {HTTPS} on
RewriteRule (. *) Http: //% {HTTP_HOST}% {REQUEST_URI} [R = 301, L]

Но это не означает, что все, что входит через https, перенаправляет меня на http. Чего бы мне не хватало?

С уважением.

Изменить:

ОК.

Отлично, теперь я думаю, что понимаю это немного лучше. Для перенаправления https на http у вас должен быть сгенерирован ssl-сертификат и сохранен на сервере apache.

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

openssl req -x509 -nodes -days 365 -newkey rsa: 204 .....

Я сгенерировал его правильно.

Следующим шагом был включен сайт default-ssl.cnf, на котором я добавляю пути к данным сертификата ssl, сгенерированным ранее.

Какие действия мне нужно сделать на этом этапе, чтобы включить перенаправление с https на http для например, мой экземпляр wordpress.

Вот мой файл default-ssl.conf

<IfModule mod_ssl.c>
<VirtualHost *: 443>
ServerName www.mydomain.org
ServerAdmin webmaster @ localhost
DocumentRoot / var / www / html/wordpress
<Directory />
FollowSymLinks options
AllowOverride None
</Directory>
<Directory / var / www / html />
Options -Indexes + FollowSymLinks + MultiViews
Allow to cancel all
</Directory>
ErrorLog $ {APACHE_LOG_DIR} /error.log
Record Level Warning
CustomLog $ {APACHE_LOG_DIR} /ssl_access.log combined
SSLEngine on
SSLCertificateKeyFile /etc/apache2/sslcert/apache.key
SSLCertificateFile /etc/apache2/sslcert/apache.crt
#SSLCACertificateFile /etc/ssl/certs/bundle.crt
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and later versions should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
</IfModule>

С уважением

-1
задан 12 August 2019 в 15:14
1 ответ

Это не может работать без сертификата ssl. Вот почему:

Когда браузер подключается к серверу, уровень безопасности проверяет соединение (включая имя (имена) в сертификате с именем, которое запрашивает браузер) до браузер отправляет HTTP-запрос (например: GET / HTTP1 / 1).

Диалоговое окно HTTP одинаково для http и https, но шифрование согласовывается перед его запуском.

Для HTTP 1.1 все запросы также должны иметь заголовок Host:, указывающий, который хост, для которого запрашивается запрос, Apache вычислит полный URI из комбинации заголовка Host: и URI в запросе.

Если вы не можете начать HTTP-диалог, вы не можете получить запрос, поэтому можете ' Я никак не могу ответить на это.

1
ответ дан 5 December 2019 в 19:38

Теги

Похожие вопросы