现在,你应该能在访问https://feiyang.li/ 的时候,在地址栏里看到一个漂亮的小绿锁
作为肤浅的人,为了这么洋气的小绿锁也要上HTTPS~ 更多见:iii.run
申请免费SSL证书
普通的SSL证书动辄好几千,简直令人发指。不过别担心,我找到了3个免费申请HTTPS证书的方式。
-
StartSSL也免费提供了一个证书(纯英文)
申请地址:https://www.startssl.com/Account?r=L1ZhbGlkYXRl - 阿里云免费提供的证书
https://common-buy.aliyun.com/?spm=5176.7968328.231195.3.Vh92u7&commodityCode=cas#/buy
- 腾讯云免费申请
https://console.qcloud.com/ssl
获得证书之后,下载至本地。
VPS上安装SSL证书
以Nginx 为例
获取证书
Nginx文件夹内获得SSL证书文件 1_www.domain.com_bundle.crt 和私钥文件 2_www.domain.com.key,
1_www.domain.com_bundle.crt 文件包括两段证书代码 “-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”,
2_www.domain.com.key 文件包括一段私钥代码“-----BEGIN RSA PRIVATE KEY-----”和“-----END RSA PRIVATE KEY-----”。
上传和部署SSL证书
将域名 www.domain.com 的证书文件1_www.domain.com_bundle.crt 、私钥文件2_www.domain.com.key保存到同一个目录,例如/usr/local/nginx/conf目录下。更新Nginx根目录下 conf/nginx.conf 文件如下:
server {
listen 443;
server_name www.domain.com; #填写绑定证书的域名
ssl on;
ssl_certificate 1_www.domain.com_bundle.crt;
ssl_certificate_key 2_www.domain.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
ssl_prefer_server_ciphers on;
location / {
root html; #站点目录
index index.html index.htm;
}
}
配置文件参数 | 说明 |
---|---|
listen 443 | SSL访问端口号为443 |
ssl on | 启用SSL功能 |
ssl_certificate | 证书文件 |
ssl_certificate_key | 私钥文件 |
ssl_protocols | 使用的协议 |
ssl_ciphers | 配置加密套件,写法遵循openssl标准 |
重启Nginx
输入 nginx -s reload
:修改配置后重新加载生效
可以看到SSL证书生效,且HTTPS可以访问站点。