配置 Apache2 以自动将对端口 80 的调用重定向到端口 443

配置 Apache2 以自动将对端口 80 的调用重定向到端口 443

我正在运行基于 Ubuntu 12.04 Server 的 Apache2 服务器,该服务器带有 SSL。我的配置似乎正确,可以通过端口 443 实现 SSL 连接,而且起初,我甚至没有为端口 80 上的任何 VirtualHost 配置服务器。

现在,我想配置服务器以通过端口 80 接收任何 HTTP 请求,并 100% 自动将它们重定向到我的端口 443 虚拟主机。

我当前尝试的一个技巧是在每个目录中使用一个 .htaccess 文件,并遵循以下规则:

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{HTTPS} !=on
  RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</IfModule>

要正确重定向到 *:443,需要什么样的 VirtualHost *:80 基础框架?

答案1

只需使用

RedirectMatch ^/(.*)$ https://%{SERVER_NAME}/$1

在虚拟主机中。

您需要将 DocumentRoot 设置到某个位置,以便在 mod_alias 出现故障时可以进行后备。

相关内容