每日推荐
HTTP 协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的 HTTP 的网站是不太安全的。所以, Google 的 Chrome 浏览器将在 2017 年 1 月开始,标记使用不加密的 HTTP 协议的网站为 Not Secure,不安全。
现在你要做的就是让网站支持 HTTPS,并不难,而且现在可以免费做到。要使用 HTTPS,你需要安全机构颁发的安全证书,然后配置服务器,去使用这个证书。下面介绍一下在阿里云免费申请安全证书,还有配置一般的 NGINX 服务器支持 HTTPS 的方法。
1 . 申请证书
登录:阿里云控制台,产品与服务,证书服务,购买证书。
购买:证书类型选择 免费型DV SSL,然后完成购买。
补全:在 我的证书 控制台,找到购买的证书,在操作栏里选择 补全。填写证书相关信息。
域名验证:可以选择 DNS,如果域名用了阿里云的 DNS 服务,再勾选一下 证书绑定的域名在 阿里云的云解析。
上传:系统生成 CSR,点一下 创建。
提交审核。
如果一切正常,10 分钟左右,申请的证书就会审核通过。
申请证书要注意的是验证域名,就是你要验证你想绑定证书的域名是你自己的,如果选择使用 DNS 验证,你需要在域名的管理里,添加一条特定的 DNS 记录,这样就可以证名这个域名是你自己的。使用了阿里云的云解析服务,这个步骤可以自动完成,会自动为你添加一条 DNS 验证的记录。
输入证书要绑定的域名:
填写个人信息:
[图片上传中...(image-e6b580-1529560205363-7)]
在域名的管理里,因为我用了阿里云的 DNS 解析服务,所以会自动添加一条 CNAME 记录,这条记录就是验证域名所有权用的:
2 . 下载证书
在阿里云的证书管理那里,如果申请的证书审核通过,你就可以下载了,点击 下载,可以选择不同的类型,可以选择 NGINX,或 Apache 之类的服务器。根据自己网站的 Web 服务器类型,下载对应的证书。解压以后,你会得到两个文件一个是 *.key,一个是 *.pem。
3 . 配置 NGINX 的 HTTPS
有了证书,就可以去配置 Web 服务器去使用这个证书了,不同的 Web 服务器地配置方法都不太一样。下面用 NGINX 服务器作为演示。我的域名是 ninghao.org,出现这个文字的地方你可以根据自己的实际情况去替换一下。
1、下载并上传证书
创建一个存储证书的目录:
sudo mkdir -p /etc/nginx/ssl/geekxz.com
把申请并下载下来的证书,上传到上面创建的目录的下面。我的证书的实际位置是:
/etc/nginx/ssl/geekxz.com/213985317020706.pem/etc/nginx/ssl/geekxz.com/213985317020706.key
2、NGINX 配置文件
你的网站可以同时支持 HTTP 与 HTTPS,HTTP 默认的端口号是 80,HTTPS 的默认端口号是 443。也就是如果你的网站要使用 HTTPS,你需要配置网站服务器,让它监听 443 端口,就是用户使用 HTTPS 发出的请求。
下面是一个基本的监听 443 端口,使用了 SSL 证书的 NGINX 配置文件,创建一个配置文件:
touch /etc/nginx/ssl.geekxz.com.conf
3、把下面的代码粘贴进去:
server {
listen 443;
server_name ninghao.org;
ssl on;
root /mnt/www/geekxz.com;
index index.html;
ssl_certificate /etc/nginx/ssl/ninghao.org/213985317020706.pem;
ssl_certificate_key /etc/nginx/ssl/ninghao.org/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_certificate 与 ssl_certificate_key 这两个指令指定使用了两个文件,就是你下载的证书,解压之后看到的那两个文件,一个是 *.pem,一个是 *.key。你要把这两个文件上传到服务器上的某个目录的下面。
4、重新加载 NGINX 服务:
sudo service nginx reload
或:
sudo systemctl reload nginx
5、验证配置
在浏览器上输入带 https 的网站地址:https://geekxz.com
如果正确的配置了让服务器使用 SSL 证书,会在地址栏上显示一个绿色的小锁头图标。点开那个小锁头,会显示安全连接,再打开 详细信息。
你可能还喜欢
点击下方图片即可阅读