A闪的 BLOG 技术与人文
花费了一些时间把博客的服务器加入ssl加密,第一件事情要做的就是申请一个免费的证书。自从苹果App Store要求所有APP访问网络请求均使用https方式后,网上出现了大量证书供应商的介绍,大家可以根据需求来选择。笔者的服务器放置于阿里云上,直接使用阿里云提供的免费一年的证书。
证书申请好之后,会得到两个文件,一个.pem文件和一个.key文件。将这两个文件配入到nginx中即可,方法如下:
这个目录不限制,不过为了好找,我将它放到了nginx安装目录下的cert
目录中。
由于nginx中配置了多个站点,所以我只需要修改对应站点的配置文件即可,只需要在*.conf
文件中的server
内追加如下内容即可
listen 443;
ssl on;
ssl_certificate /usr/local/nginx/cert/xxx.crt;
ssl_certificate_key /usr/local/nginx/cert/xxx.key;
使用service nginx restart
可以,热更新配置也可以。
现在通过https
访问你的网站即可看到最终效果,不过对于网站中的内容,旧的链接都是http
协议,我们还需要设置一下强制跳转。
加入一下配置
if ($server_port = 80) {
return 301 https://$server_name$request_uri;
}
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
重启nginx即可,搞定
由于这两样东西实在特殊,存在跨域问题,所以,在修改https
后,你还在网站模板中将他们的链接手动改为https
,否则浏览器将无法加载这些类型文件。
最后,为了测试最终效果,上传一张附件图,内容为周末午后所做。