apache 使用许多虚拟主机将 http 重定向/重写为 https

apache 使用许多虚拟主机将 http 重定向/重写为 https

我有一个 apache web 服务器,它有大约 150 个 VirtualHosts,分布在 9 个 IP 地址上。我想将 http 连接重定向或重写为 https。我找到的解决方案在定义中有重写/重定向,但由于这个服务器有这么多,我希望除了添加 150 个重写之外,还有一种更优雅的方法来实现它。

顺便说一下,它是 ubuntu 22。

有任何想法吗?

答案1

您可以使用 %{http_host} 变量重定向到 https。只需绑定到端口 80 并将所有内容重定向到 https。无需知道主机名是什么。

未经测试,但应该可行:

<VirtualHost *:80>
  <Location "/">
    Redirect "https://%{HTTP_HOST}%{REQUEST_URI}"
  </Location>
</VirtualHost> 

几乎同样的问题

相关内容