为网站设置https安全协议

1.获取证书,有一些官方出售的证书,但也有免费的比如SSL For Free,而且背后有一些主要的赞助商,例如Mozilla,Chrome,Akamai和Cisco。
2.进入网站后输入您网站的域名,按照提示,选择自动FTP验证或手动验证,验证成功后就可以获得证书,下载应该得到一个sslforfree.zip的压缩包,解压后有3个文件,依次是:ca_bundle.crt(CA /链证书) certificate.crt(针对网站的SSL证书) private.key(证书私钥)
3.接着网站提示的步骤”Installing your SSL Certificate”,找到对应自己web服务器的标签,这里我以Nginx为例:

  • 将刚才解压的3个文件上传到服务器比如:/etc/ssl/
  • 合并 certificate.crt ca_bundle.crt 为 cert_chain.crt
$ cat certificate.crt ca_bundle.crt >> cert_chain.crt
  • 注意!!合并完检查cert_chain.crt文件,如果看上去想这样:
-----END CERTIFICATE----------BEGIN CERTIFICATE-----
  • 请改为
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE----
  • 修改nginx虚拟主机配置
#http访问时301重定向到https
server {
    listen 80;
    server_name www.ssmvv.com ssmnx.com;
    return 301 https://$server_name$request_uri;
}
server {
    listen 443;
    ssl on;
    ssl_certificate /etc/ssl/cert_chain.crt;
    ssl_certificate_key /etc/ssl/www.ssmvv.com.key;

    server_name www.ssmvv.com ssmnx.com;
    ...
}
  • 设置完毕后重启nginx服务器