用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS

HTTP 协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的 HTTP 的网站是不太安全的。所以, Google 的 Chrome 浏览器将在 2017 年 1 月开始,标记使用不加密的 HTTP 协议的网站为 Not Secure,不安全。

HTTPS

现在你要做的就是让网站支持 HTTPS,并不难,而且现在可以免费做到。

要使用 HTTPS,你需要安全机构颁发的安全证书,然后配置服务器,去使用这个证书。

下面介绍一下在阿里云免费申请安全证书,还有配置一般的 NGINX 服务器支持 HTTPS 的方法。

申请证书

  • 登录:阿里云控制台,产品与服务,证书服务,购买证书。
  • 购买:证书类型选择 免费型DV SSL,然后完成购买。
  • 补全:在 我的证书 控制台,找到购买的证书,在操作栏里选择 补全。填写证书相关信息。
  • 域名验证:可以选择 DNS,如果域名用了阿里云的 DNS 服务,再勾选一下 证书绑定的域名在 阿里云的云解析。
  • 上传:系统生成 CSR,点一下 创建。
  • 提交审核。

如果一切正常,10 分钟左右,申请的证书就会审核通过。

阿里云免费https

下载证书

在阿里云的证书管理那里,如果申请的证书审核通过,你就可以下载了,点击 下载,可以选择不同的类型,可以选择 NGINX,或 Apache 之类的服务器。

根据自己网站的 Web 服务器类型,下载对应的证书。解压以后,你会得到两个文件一个是 .key,一个是 .pem。

阿里云免费https

配置 NGINX 的 HTTPS

有了证书,就可以去配置 Web 服务器去使用这个证书了,不同的 Web 服务器地配置方法都不太一样。

下面用 NGINX 服务器作为演示。

我的域名是 mi360.cn,出现这个文字的地方你可以根据自己的实际情况去替换一下。

下载并上传证书

创建一个存储证书的目录:

sudo mkdir -p /etc/nginx/ssl/mi360.cn

把申请并下载下来的证书,上传到上面创建的目录的下面。我的证书的实际位置是:

/etc/nginx/ssl/mi360.cn/213985317020706.pem
/etc/nginx/ssl/mi360.cn/213985317020706.key

NGINX 配置文件

你的网站可以同时支持 HTTPHTTPS,HTTP 默认的端口号是 80,HTTPS 的默认端口号是 443。也就是说如果你的网站要使用 HTTPS,你需要配置网站服务器,让它监听 443 端口,就是用户使用 HTTPS 发出的请求。

下面是一个基本的监听 443 端口,使用了 SSL 证书的 NGINX 配置文件,创建一个配置文件:

touch /etc/nginx/ssl.mi360.cn.conf

把下面的代码粘贴进去:

server {
  listen       443;
  server_name  mi360.cn;
  ssl          on;
  root /mnt/www/mi360.cn;
  index index.html; 

  ssl_certificate   /etc/nginx/ssl/mi360.cn/213985317020706.pem;
  ssl_certificate_key  /etc/nginx/ssl/mi360.cn/213985317020706.key;
  ssl_session_timeout 5m;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
  ssl_prefer_server_ciphers on;
}

上面的配置里,ssl_certificatessl_certificate_key 这两个指令指定使用了两个文件,就是你下载的证书,解压之后看到的那两个文件,一个是 *.pem,一个是 *.key。你要把这两个文件上传到服务器上的某个目录的下面。

重新加载 NGINX 服务:

systemctl reload nginx.service

或

systemctl reload nginx

验证配置

在浏览器上输入带 HTTPS 的网站地址:https://mi360.cn

如果正确的配置了让服务器使用 SSL 证书,会在地址栏上显示一个绿色的小锁头图标。

搜索引擎优化

2015 年 5 月 25 日,百度发公告声明已全面支持 HTTPS 网页的收录,使用 HTTPS 的网页被认为更安全,所以在排名上会被优先。 百度还推荐使用 301 重定向,把网站的 HTTP 重定向到 HTTPS 。

前几天我让编程故事支持 HTTPS,并观察了搜索量,并未受到影响。所以,至少不用担心换成 HTTPS 以后,搜索量会下降。不过百度的反应一般都比较慢,需要给他更长的时间。换成 HTTPS 的后两天,谷歌已经收录了 HTTPS 版本的首页,但是百度至今还没有反应。不管怎么样,使用 HTTPS 都是迟早要做的事情。

NGINX 配置使用 301 重定向:

server {
  listen        80;
  server_name   mi360.cn;
  return 301    https://$host$request_uri;
}

上面的配置会让对 HTTP 网页的请求,重定向到 HTTPS 版本的网页上。

相关文章

感觉本篇文章不错,对你有收获?

¥我要小额赞助,鼓励作者写出更好的教程
80 160 120

作者:

  • 出处: https://www.mi360.cn/articles/121
  • 本文版权归作者,欢迎转载,但未经作者同意必须保留 此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

评论区

最新评论

扫码关注