Назад | Перейти на главную страницу

apache2 https перенаправление на http без сертификата ssl

У нас есть сервер apache, на котором размещено несколько доменов, в некоторых из которых включен протокол https, а в некоторых нет.

Теперь проблема в том, что если я получу доступ https: // exampleWithoutHttps Я перейду к содержанию https: // exampleWithHttps.

Я хочу перенаправить пользователя из https: // exampleWithoutHttps к http: // exampleWithoutHttps на всех доменах без https. Я попытался создать правило перенаправления в virtualhost *: 443, но это создает следующую ошибку:

Сервер должен поддерживать SSL, но не имеет настроенного сертификата

Проблема в том, что я не могу изменить "Listen 443" на "Listen 443 http", так как это сломает мои хосты с включенным ssl.

Есть ли способ сделать перенаправление без сертификата ssl?

Или, если это невозможно, вы можете предложить альтернативу, которая гарантирует, что https: // exampleWithoutHttps не показывает содержание https: // exampleWithHttps.

Мой файл ports.conf

NameVirtualHost *:80
Listen 80
NameVirtualHost *:443
Listen 443

конфигурация сайта mi:

<VirtualHost *:80>
 DocumentRoot /path/to/dr
 ServerName  exampleWithoutHttps.com
 ServerAlias www.exampleWithoutHttps.com
</VirtualHost>

<VirtualHost *:443>
 ServerName  exampleWithoutHttps.com
 ServerAlias www.exampleWithoutHttps.com
 Redirect permanent /   http://www.exampleWithoutHttps.com/
</VirtualHost>

Настройте любой сертификат для своего VirtualHost *:443 и все готово.

  • Это может быть просто самозаверяющий сертификат, который вы создаете для себя. Конечно, пользователь увидит предупреждение системы безопасности. Это ожидаемо. Пользователи особенно хотят https, где s означает secure. У вас нет действующего сертификата, например, без Https.com, поэтому вы не можете их предоставить sбезопасность - это правильно, что их об этом предупреждают.
  • Вы также можете бесплатно получить действующий сертификат от нескольких поставщиков.

Поместите VirtualHost *:443 из ServerName exampleWithoutHttps.com перед VirtualHost *:443 из ServerName exampleWithHttps.com. Я имею в виду поместить его в текстовом виде первым в файлах конфигурации Apache. Это гарантирует, что пользователь не увидит контент из exampleWithHttps.

Я хочу перенаправить пользователя из https: // exampleWithoutHttps к http: // exampleWithoutHttps на всех доменах без https.

Чтобы выполнить перенаправление, вам необходимо сначала настроить соединение https. Вы не можете установить https-соединение без действующего сертификата и т. Д.

Итак, чтобы ответить на вопрос, вы не можете этого сделать. Ну, не так, чтобы удовлетворить большинство людей, которые в любом случае беспокоятся о безопасности.