将HTTP请求重定向到Apache 2上的HTTPS

・1 分钟阅读

介绍

本文向你展示了如何设置Apache2,将非安全(HTTP )请求重定向到安全(HTTPS )请求。

预先要求

  • 你有一个运行Apache 2.的Linux实例
  • 你的域名(例如,example.com,它DNS A记录"@"还有"www"指向你机器上的IP地址,
  • 理想情况下,你的实例上还应该有SSL设置,

设置重定向

通过运行sudo a2enmod rewrite确保Apache已启用mod_rewrite模块。

方法1:

将以下代码段放在你的站点根目录中的.htaccess文件中。


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

方法2:

将http虚拟主机(在80号端口)设置为转发到安全虚拟主机。


<VirtualHost *:80>
 ServerName example.com
 ServerAlias example.com www.example.com
 Redirect 301 / https://example.com/
</VirtualHost>

<VirtualHost _default_:443>
 ServerName example.com

 SSLEngine On
 #other vhost settings go here (e.g. ssl, logs, site root)
</VirtualHost>

由Lami Adabonyan撰写

杨和超 profile image