关闭与 apache HTTPS 端口的 HTTP 连接

关闭与 apache HTTPS 端口的 HTTP 连接

当客户端向 apache https 发出 http 请求时,VirtualHostapache 会做出以下响应:

<!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

我认为 mod_write 可能会有帮助:https://www.sslshopper.com/apache-redirect-http-to-https.html

它会自动将 HTTP 请求重定向到 HTTPS。

但是,如果您使用共享主机或无权使用 .htaccess 文件,则这可能不起作用。

相关内容