http重定向到https

http重定向到https

  1. 阿里云服务器:以将HTTP:80访问重定向转发至HTTPS:443为例
    创建HTTPS监听-创建HTTP监听配置重定向-开启监听转发,选择目的监听为HTTPS:443。
    https://help.aliyun.com/document_detail/89151.html

2、自行部署的Apache

  1、在apache中的某个conf文件中使得该行生效(打开ssl模块)
         LoadModule ssl_module modules/mod_ssl.so
  2、在apache中的某个conf文件中使得该行生效(打开重写模块)
          LoadModule rewrite_module modules/mod_rewrite.so
  3、修改80端口的配置文件
      配置文件路径为/etc/apache2/sites-available
      80端口的配置文件名称为  000-default.conf
      80端口修改内容为在<VirtualHost *:80></VirtualHost *:80>之间加入以下内容)
      版本一 (注意 www.xxxx.com、xxxx.com 中xxx要改成你的域名)
              ServerName www.xxxx.com
              ServerAlias xxxx.com
              RewriteEngine On
              RewriteRule ^/(.*?)$ https://www.xxxx.com/$1 [R]
      版本二 (注意 www.xxxx.com、xxxx.com 中xxx要改成你的域名)
              ServerName www.xxxx.com
              ServerAlias xxxx.com
              RewriteEngine On
              RewriteCond %{HTTPS} !=on

              RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R]

关于版本二命令解释
RewriteEngine On是开启rewrite功能
RewriteCond %{HTTPS} !=on 为不是https的时候执行下面的规则
^(.*) https://%{SERVER_NAME}$1 [L,R] 中 ^ 匹配行的开始
$1引用RewriteRule中的第一个正则(.*)代表的字符, %{SERVER_NAME}就是监听的网站域名,
[L]:结尾标识。停止重写操作,并不再应用其他重写规则。防止本条规则被后续规则影响
R 强制外部重定向

版本一与版本二的区别
1、版本一重定向规则都是使用硬编码,耦合性太强,建议使用版本二
2、版本二的重定向规则的正则表达式比版本一,加入了结尾表示 更加全面,也比较安全

第三步还可修改根目录.htaccess文件(文件内容会被导入到配置文件中)

      RewriteEngine On
      RewriteCond %{HTTPS} off
      RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注