全站开启 https 安全连接:万网虚机如何部署 SSL 证书?

2018-10-0314:21:06 8 890 人看过
全站开启 https 安全连接:万网虚机如何部署 SSL 证书?

我们都知道云服务器可以通过宝塔面板一键部署 SSL 证书,开启 https 连接。考虑到云服务器成本略高,对于博客网站也显得性能过剩,所以很多小伙伴是使用虚机进行网站搭建的。所以本文将以万网的虚机为例,讲述虚拟主机部署 SSL 证书开启 https 连接的方法。

由于万网主机默认不支持 https,也没有供 https 使用的 443 端口,只能通过开启 CDN 加速的方式间接部署,所以开始之前,我们先复盘一下几个概念:

  • HTTPS 也叫 HTTP Secure,是 HTTP 的加密版本,即在 HTTP 协议的基础上加入 SSL 加密协议(SSL 证书)。HTTP 是一种明文传输协议,当浏览器用户与网站进行 HTTP 链接时,两者之间传输的数据容易被第三者的窥视、窃取和篡改等网络攻击。HTTPS 可对这些数据进行高强度的加密,防止用户隐私数据在信息传输时遭遇黑客攻击。
  • SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。
  • CDN 的全称是 Content Delivery Network,即内容分发网络。CDN 是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN 的关键技术主要有内容存储和分发技术。

 

一、万网虚机部署 SSL 证书开启 https 的大致思路

 

1、启用 CDN,登录 CDN 管理控制台

2、添加域名到 CDN

3、添加 CDN 域名的解析记录

4、将网站动态文件添加到文件缓存黑名单(缓存刷新时间设为 0)

5、开启 https,设置 http 强制跳转 https

6、全面更改网站的 http 协议为 https 协议

 

二、部署 SSL 证书开启 https 的具体步骤

 

1、登录阿里云官网,进入 CDN 产品页面。

导航中选择“产品>精选>CDN"进入 CDN 的产品页面。这里有两个选项,一个是【资源包套餐】和【管理控制台】。点击资源包套餐。

全站开启 https 安全连接:万网虚机如何部署 SSL 证书?

 

 

2、购买一个国内流量包和一个 HTTPS 请求包。

我选择的是 20 元 100GB 的国内流量包和 40 元 1000 万次的 HTTPS 请求包,对于大部分个人站点来说已经够用,具体大家可根据自己网站实际访问量自行选择。

这里需要注意的是:

1)这里是通过预付费方式使用 CDN,如果大家想根据实际使用量进行计费的方式使用 CDN,可以直接跳过这一步。

2)国内流量包是指网站加速日常使用的流量,提供的多节点文件缓存加速服务。HTTPS 请求包是指请求 HTTPS 协议传输的次数,提供的是数据加密传输服务。两者不可相互替代。

全站开启 https 安全连接:万网虚机如何部署 SSL 证书?
全站开启 https 安全连接:万网虚机如何部署 SSL 证书?

 

 

3、进入 CND 管理控制台,添加加速域名。

具体配置可参考下图:【加速域名】一般添加两个,一个是带 www 的,一个不带 www 的。【业务类型】选择图片小文件。【源站类型】选择填写 IP 地址,填写你虚机的 IP 即可。最后,注意【端口】一定要要选择 80 端口。因为万网虚机默认不开启 443 端口。

全站开启 https 安全连接:万网虚机如何部署 SSL 证书?

 

添加完加速域名,CDN 会给我们的加速域名分配一个 CNAME 地址。如下图所示

全站开启 https 安全连接:万网虚机如何部署 SSL 证书?

 

 

4、为加速域名添加 CNAME 记录

进入域名管理的控制面板,添加 CNAME 记录,并指向 CDN 给我们分配的 CNAME 地址。

全站开启 https 安全连接:万网虚机如何部署 SSL 证书?

 

 

5、回到 CDN 控制台,为加速域名添加缓存规则。

一般情况下,我们只需要缓存静文件。 缓存网站动态文件可能导致页面样式错乱、后台不能登录等问题。所以这里需要添加规则,设置动态文件为不缓存。如图所示,新建三条规则,分别将 php 后缀,/wp-admin 和/wp-content/themes 目录的过期时间(缓存时间)设置为 0。其中添加 php 后缀和/wp-admin 目录是为防止 CDN 缓存后台登录页面,导致后台不能登录。添加/wp-content/themes 是为了防止 CDN 缓存主题文件里的 CSS 和 JS,导致页面显示错乱。

全站开启 https 安全连接:万网虚机如何部署 SSL 证书?
全站开启 https 安全连接:万网虚机如何部署 SSL 证书?

 

 

6、启用 SSL 证书,设置 HTTP 强制跳转 HTTPS。

全站开启 https 安全连接:万网虚机如何部署 SSL 证书?

 

全站开启 https 安全连接:万网虚机如何部署 SSL 证书?

 

更多 CDN 的设置大家可以根据需要自行修改,但“过滤参数”和“协议跟随回源”不要开启。等待设置生效后,我们就可以使用 https 访问我们的网站了。

 

常见问题及解决办法:

 

这时候打开你的网站,你可能会遇到下面的问题。

1、网站样式错乱,图片无法显示。

2、网站后台无法登录。

3、网站已经是 https 访问,但的前面锁是灰色,而不是绿色。

 

这些问题都是因为你的网站样式文件和图片文件还是 http 造成了,所以我们需要将网站的所有 http 替换为 https。

 

1、修改系统文件

路径:网站根目录\wp-includes\functions.php

找到代码 require( ABSPATH . WPINC . '/option.php' );

在下方添加:

  1. add_filter('script_loader_src', 'agnostic_script_loader_src', 20,2); function
  2. agnostic_script_loader_src($src$handle) { return preg_replace('/^(http|https):/', ''$src); }
  3. add_filter('style_loader_src', 'agnostic_style_loader_src', 20,2); function
  4. agnostic_style_loader_src($src$handle) { return preg_replace('/^(http|https):/', ''$src); }

 

2、后台文件修改

路径:网站根目录\wp-config.php

找到代码:

  1. *
  2. * @package WordPress
  3. */

在下方添加如下代码:

  1. $_SERVER['HTTPS'] = 'on';
  2. define('FORCE_SSL_LOGIN', true);
  3. define('FORCE_SSL_ADMIN', true);

 

3、后台域名修改

完成前两步操作后,可以正常访问 https 开头的网站和后台。登录 wordpress 后台,"设置>常规”里将网站地址修改为 https。

全站开启 https 安全连接:万网虚机如何部署 SSL 证书?

当然也可以直接修改你数据库的 wp_options 表,如下图所示。

全站开启 https 安全连接:万网虚机如何部署 SSL 证书?

 

4、安装插件

下载这个叫“really-simple-ssl”的 WordPress 插件,安装启用。至此,网站就成功部署了 SSL 证书,开启 https 安全连接了。

weinxin
博客小程序【一起行动派】
欢迎访问行动派博客小程序,小程序和博客同步更新,查看内容更加方便!
Action

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:8   其中:访客  4   博主  4

    • avatar 菊座 1

      前两天刚在某处看到万网虚机的 https 部署 你这就上了 好快

        • avatar 简单梁 Admin

          @菊座 这个折腾很久了,也是最近才解决部署后后台无法登录的问题,所以才发出来。

        • avatar 唯心寒辞 2

          阿里云虚拟主机控制台的绑定域名好像支持强制开启HTTPS了。

            • avatar 简单梁 Admin

              @唯心寒辞 真的耶,谢谢提醒!这样开https是不是就不用走CDN了?完美!

            • avatar 火星五号趣闻 3

              这个问题困扰了我好久,一直没解决

                • avatar 简单梁 Admin

                  @火星五号趣闻 你使用的是哪里的服务器?如果自己解决不了,直接写工单给服务商,一般都可以得到很好的解决办法。

                • avatar isdola 3

                  我也是阿里的云虚拟主机,不过我是在主机里面的管理里面的绑定域名,在绑定的域名后面有一个强制https开关,我是在那里开启的,然后对网站相关地方都修改了http为https,图标已经显示为绿色了,但是外链在新浪的图片有些可以显示出来,有些显示不出来,不知道是什么原因(我没有设置CDN加速)

                    • avatar 简单梁 Admin

                      @isdola 应该是图片还是http协议导致的,可以尝试用这个插件:Really Simple SSL。它会将一些http资源自动定向到https。实在不行,就手动将http的图片改为https,包括缩略图的外链。