本篇我们来谈一谈 Magento 2 如何使用 Https
Https 是什么
超文本传输安全协议(Hypertext Transfer Protocol Secure 缩写:HTTPS,也被称为HTTP over TLS,HTTP over SSL 或 HTTP Secure)他是一种网络安全传输协议。
HTTPS 使用 HTTP 进行通信,但利用 SSL/TLS 来对数据包进行加密。HTTPS 开发的主要目的,是提供对网络服务器的身份认证,保护交换数据的隐私与完整性。
简单说来,使用 HTTPS 通信,信息是加密的,而使用 HTTP 传输,信息是明文。所以 HTTPS 更加安全。
Google 是鼓励使用 HTTPS 的, HTTPS 的站点会获得更好的排名。百度 2014 年也已经从 HTTP 转向了 HTTPS 。所以使用 HTTPS 实在是大势所趋。
阿里云免费证书
博主的 Magento 2 搭建在阿里云上,所以以阿里云为例,申请一个免费的证书配置到 Magento 2上。
登录阿里云后,在产品与服务中,找到证书服务 > 购买证书,然后按照提示申请好就行了。博主使用的域名验证类型是 DNS ,所以还要去域名解析中做好配置。然后下载该证书。
请根据你的服务器类型下载证书,就像下面这样:
你看,他都告诉你怎么安装证书了。不过这个是 Centos 上的 Apache 配置方式。博主是 Ubuntu,所以下面的内容针对的是 Ubuntu 下 Apache 的证书配置。
Ubuntu Apache 配置证书
首先,确保 SSL 模块加载进 Apache 了。
1 | a2enmod ssl |
如果你看到上面类似的信息,说明你已经 ok 了。如果看到 “Enabling module ssl” ,你还需要重启下 Apache
1 | service apache2 restart |
下面我们将下载的证书上传到服务器上并放到安全的位置。在配置文件中进行配置:
1 | <VirtualHost *:443> |
保存后重启。下面我们要去 Magento 2 后台进行配置了
Magento 2 后台配置 Https
Stores > Configuration > General > Web > Base URLs (Secure)
配置好后刷新缓存(资料太多不详细说了),我相信你的网站就可以用 https 了。
如果你希望 80 端口重定向到 443 端口,可以用下面的配置(当然是80端口的配置中)
1 | RewriteEngine on |
不管是80 还是 443 端口的配置,请一定要不要少了
1 | <Directory /www/html/yoursite> |
另外,需要注意浏览器的缓存,建议使用隐私窗口进行测试,排除浏览器缓存的影响。
诸位,Good Luck!