在 Nginx SSL 终止中将所有无效的 SSL 请求重定向到 http

在 Nginx SSL 终止中将所有无效的 SSL 请求重定向到 http

我在后端服务器作为反向代理之前使用 nginx 进行 SSL 终止。我想重定向所有无效的 https 域(没有 SSL),在 nginx SSL 终止中重定向到 http。我不想对所有网站都单独执行此操作,我想要一个通用解决方案,适用于所有没有 https 但使用 https 打开并自动重定向到 http 的请求。我有 nginx 用于 SSL 终止。谢谢

答案1

无法重定向无效的 SSL。从 HTTPS 重定向到 HTTP 首先需要成功的 SSL 连接,以便重定向可以在 SSL 连接内的 HTTP 级别完成。因此,如果一开始就无法建立 SSL 连接(因为无效),就无法在 HTTP 级别进行重定向。

答案2

当您从监听端口 443 的服务器上删除证书时,nginx 将在该端口上启动常规 HTTP 服务器,因为 nginx 与端口无关。

您必须在 nginx 的服务器块中放入有效证书,否则客户端将无法执行服务器块中定义的任何操作,包括重定向。您所说的“无效连接”会中断连接,并且不可能(幸运的是)以​​您描述的方式强制客户端从 HTTPS 转换为 HTTP。

相关内容