Закрыть HTTP-соединения с портом apache HTTPS

Когда клиент отправляет http-запрос к apache https VirtualHost , apache отвечает:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
Reason: You're speaking plain HTTP to an SSL-enabled server port.<br />
 Instead use the HTTPS scheme to access this URL, please.<br />
</p>
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at 127.0.0.1 Port 443</address>
</body></html>

Как я могу заставить apache закрыть соединение или ответить подходящим ssl Ошибка рукопожатия / tls?

У меня есть балансировщик нагрузки, который узнает, является ли порт члена внутреннего пула http или https, пытаясь соединиться с http, а затем повторяя попытку с https. Ошибка 400 неверного запроса от участника проходит через балансировщик нагрузки и возвращается клиенту вместо того, чтобы заставить балансировщик повторять попытку с помощью https.

1
задан 16 December 2016 в 02:37
1 ответ

Я думаю, что mod_write может помочь: https://www.sslshopper.com/apache-redirect-http-to-https.html .

Это будет автоматически перенаправлять HTTP-запросы на HTTPS.

Однако это может не сработать, если вы используете общий хостинг или не имеете доступа к файлам .htaccess.

1
ответ дан 3 December 2019 в 23:37

Теги

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