Magento 2 Https

本篇我们来谈一谈 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 了。

a2enmod ssl
...
Module ssl already enabled

如果你看到上面类似的信息,说明你已经 ok 了。如果看到 “Enabling module ssl” ,你还需要重启下 Apache

service apache2 restart

下面我们将下载的证书上传到服务器上并放到安全的位置。在配置文件中进行配置:

<VirtualHost *:443>
        DocumentRoot /www/html/yoursite
        ServerName www.example.com
        ServerAlias example.com
        Options +FollowSymLinks
        rewriteEngine on
        rewriteCond %{http_host} ^example.com [NC]
        rewriteRule ^(.*)$ https://www.example.com$1 [R=301,L]

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/yourdomainname.pem
        SSLCertificateKeyFile /etc/apache2/ssl/yourdomainname.key
        SSLCACertificateFile  /etc/apache2/ssl/yourdomainname.pem
        <Directory "/www/html/yoursite">
           Options Indexes FollowSymLinks MultiViews
           AllowOverride all
           Order allow,deny
           Allow from all
        </Directory>
</VirtualHost>

保存后重启。下面我们要去 Magento 2 后台进行配置了

Magento 2 后台配置 Https

Stores > Configuration > General > Web > Base URLs (Secure)

配置好后刷新缓存(资料太多不详细说了),我相信你的网站就可以用 https 了。

如果你希望 80 端口重定向到 443 端口,可以用下面的配置(当然是80端口的配置中)

RewriteEngine on
RewriteCond %{SERVER_port} 80
RewriteRule ^(.*)$ https://www.example.com$1 [R=301,L]

不管是80 还是 443 端口的配置,请一定要不要少了

<Directory /www/html/yoursite>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Order allow,deny
    Allow from all
</Directory>

另外,需要注意浏览器的缓存,建议使用隐私窗口进行测试,排除浏览器缓存的影响。

诸位,Good Luck!

发表评论

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