申请免费SSL
打开https://zerossl.com/, 点击【ONLINE TOOLS】
点击【START】开始申请证书
填写【邮箱】、【域名】、勾选【HTTP verification】、【Accept ZeroSSL TOS】和【Accept Let’s Encrypt SA (pdf)】, 填写完成后点击【NEXT】
此时会询问你是否也包含www前缀的域名,建议第一次玩的时候选择No,因为这样后面的校验是相对容易一些,等玩会了之后再选择Yes,我这里选择的是【Yes】。
点击【下载】,然后点击【NEXT】。
点击【下载】,然后点击【NEXT】。
然后进入域名校验界面。
这时候你需要在你的项目中放置两个文件,以供校验:
- 文件路径为:http://kangyonggan.com/.well-known/acme-challenge/WxvjNvXfff_DGNzHeGhi6rDqMVjJQlcatSvO_1SdemE
- 文件内容为:WxvjNvXfff_DGNzHeGhi6rDqMVjJQlcatSvO_1SdemE.m4z6_KmV_JPWzx3GFVoB9p-ytleQL5vLVuNZItQ2dik
同理,再创建另外一个文件:
- 文件路径为:http://www.kangyonggan.com/.well-known/acme-challenge/wpyYcbGItz-rmHKNFPrjrSnVy3vQ4cFC3fuRGvYF1l8
- 文件内容为:wpyYcbGItz-rmHKNFPrjrSnVy3vQ4cFC3fuRGvYF1l8.m4z6_KmV_JPWzx3GFVoB9p-ytleQL5vLVuNZItQ2dik
需要注意的是:这两个文件的地址,一个有www,一个没有www,如果你前面没有包含www前缀的域名,你就只需要提供一个文件只可。
下面是我提供的文件:
把项目发布之后访问以下上面的两个地址,看看能不能访问通, 如果访问的通,点击【NEXT】
如果校验没过,别放弃,多点几次,我就是在点了2次才通过的:
在这一步一定一定不能忘了下载这两个文件,因为后面配置服务器的时候回用到这两个文件,最后点击【DONE NEXT】结束。
但是这个证书有效期是90天,90天之后需要再次申请,过程和这次一样。
使用Nginx配置SSL
把下载的两个文件重命名为domain.crt和domain.key,然后配置nginx:
1 | server { |
重新加载nginx的配置:
1 | nginx -s reload |
访问https://kangyonggan.com和https://www.kangyonggan.com
虽然可以访问https了,但是原本的http仍然可以访问,所以还需要再配置。
http重定向到https
把原本80端口的server配置:
1 | server { |
改为:
1 | server { |
再次访问http的网站,就会被重定向到https了。