免费ssl证书:网站域名使用 https (nginx) 访问配置参考

8,978次阅读
2 条评论

共计 1301 个字符,预计需要花费 4 分钟才能阅读完成。

提醒:本文最后更新于2017-03-24 15:00,文中所关联的信息可能已发生改变,请知悉!

采用 SSL 证书加密访问的 https 网站,在一定程度上加密了数据传输,可以避免传输过程中的隐私数据泄露。谷歌在 2014 年宣布对于带有 SSL 证书的网站给予更高的权重。最近百度也明确指出全面支持https页面直接收录,并且采用https协议的页面更加安全,排名上会优先对待。

【官方建议】百度spider工程师给https站点的技术建议
http://zhanzhang.baidu.com/college/articleinfo?id=489

这里我们要探讨的是nginx 服务器下网站改用 https 的方法。

1. 申请免费的 ssl 证书

更新:以下内容仅供参考,当前免费证书更好的解决方案是 `Lets Encrypt`。方法也很简单,可参考:https://lzw.me/a/lets-encrypt-ssl.html

你可以参考如下的地址申请免费的 ssl 证书,也可以依据网站安全级别需要,购买付费的级别更高的 SSL 证书服务。

有如下几个提供免费 ssl 证书的地方,请自行选择其一,注册账号,按照提示逐步注册免费 ssl 证书。
一般十分钟左右即可搞定。志文工作室选择的是 wosign。

http://freessl.wosign.com/freessl
http://www.zzidc.com/main/ssl/showmianfei.html
https://www.startssl.com/

取得 ssl 证书下载下来,解压后的文件图一所示。这里解压 for nginx 的 zip 包,得到一个 key 和 crt 文件。

免费ssl证书:网站域名使用 https (nginx) 访问配置参考

2. 上传 SSL 证书

上传证书文件到服务器任意目录,如上传到 /root/ssl/ 目录下。
然后解密私钥和设置权限:

openssl rsa -in /root/ssl/2_lzw.me.key -out /root/ssl/2_lzw.me.key
chmod 600 /root/ssl/2_lzw.me.key

3. 修改配置 nginx

修改网站站点的 nginx 配置文件,如: vi /usr/local/nginx/conf/vhost/domain.conf。
我们这里会增加 https 的访问,并针对 http 访问做 301 重定向。修改后的设置参考如下(红色部分为新增内容):

# http 301 to https
server {
listen 80;
server_name lzw.me www.lzw.me;
rewrite ^(.*) https://$host$1 permanent;
# return 301 https://$server_name$request_uri;
}
server {
#listen 80;
#listen [::]:80;
listen 443 ssl;
ssl on;
ssl_certificate /root/ssl/1_lzw.me_bundle.crt;
ssl_certificate_key /root/2_lzw.me.key;
server_name lzw.me www.lzw.me;
....

修改完成后,重启 nginx,即可生效。

4. 带来的问题

一些第三方网站的插件、广告不支持 HTTPS 方式引用,则无法继续使用。
如百度分享、百度联盟广告、新浪微博博客组件/评论箱等。

正文完
 0
任侠
版权声明:本站原创文章,由 任侠 于2015-11-24发表,共计1301字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(2 条评论)
验证码
夏日博客 评论达人 LV.1
2015-12-07 21:47:38 回复
Google Chrome 31.0.1650.63 Google Chrome 31.0.1650.63 Windows 7 x64 Edition Windows 7 x64 Edition

现在看不少站点都启用了 https 来进行访问。 :lol:

 Windows  Chrome  中国北京北京市电信