原文连接http://www.devsai.com/2016/11/21/tech-https-30min/php
本篇不讲什么是https,什么是SSL,什么是nginxnginx
想了解这些的请绕道,相信有不少优秀的文章会告诉你。web
本篇要讲的在最短的时间内,让你的网站从http升级到https。小程序
开始教程前再说一句:https你值得拥有。微信小程序
最近段时间,微信小程序爆火,消息一出,各路豪杰,摩拳擦掌,跃跃欲试。浏览器
都想这个坑(这里很少阐述,具体坑不坑,developer最清楚)里跳。微信对小程序也是有诸多的限制。微信
例如文件大小,请求服务端必须是https。 session
文件大小,好办,开发过程当中尽可能的控制文件,能复用的尽可能复用。用不到的文件尽可能不引用。本地的图片也尽可能的少。app
可https,在国内线上用https的都不算多,更况且是开发过程当中用https,应该就更少了吧。运维
若是你正在开发微信小程序,并尚未https,那么巧了,那么我想,这篇可能能够帮到你。
都说了是开发用(若是到了线上,想要https,相关的运维人员会搞定收费的https),那固然要用免费的。
StartSSL就是个不错的选择。
StartSSL是StartCom公司旗下的SSL证书,提供免费SSL证书服务而且被主流浏览器支持的免费SSL,包括Chrome、Firefox、IE等浏览器均可以正常识别StartSSL,更主要的是StartSSL提供免费3年
且能够无限续期的SSL证书,并且能够设置10个
域名。
1 进入注册页面
进入https://www.startssl.com/SignUp。
2 注册很简单只须要填个邮箱发送验证码
3 而后填入得到的验证码,点击按钮后会跳转至设置密码
4 注册成功后,会让你下载用于登陆的证书,由于该网站提供了两种登陆方式,客户端证书认证和邮箱登陆(填写邮箱,得到验证码登陆),我的感受使用邮箱也很方便。
1 先添加验证域名,选择选项卡的Validations Wizard
,并选择Domain Validation (for SSL certificate)
点击Validation
2 填入域名,并在域名全部者邮箱(或域名对应的企业邮箱)中获取发送的验证码
3 添加的域名验证成功,点击To "Order SSL Certificate "
4 如今能够开始给本身的域名申请StartSSL免费SSL证书了,这里添加用于申请证书的完整的域名
5 申请StartSSL免费SSL时,会要求填入CSR
6 CSR 生成能够有两种方式,一种是使用StartSSL提供的[StartComTool.exe](https://download.startpki.com/startcom/startcomtool.exe)
适用于Window,另外一种方式也可使用openssl
命令,适用于Mac,liunx等。
openssl req -newkey rsa:2048 -keyout yourname.key -out yourname.csr
7 把生成的(youname.csr
)CSR签名证书请求内容,粘贴进去
8 而后StartSSL就能够免费SSL下载使用
下载下来的SSL是zip格式的压缩包,解压后有以下内容
分别提供了几种web服务所需的ssl认证文件
这里只拿nginx举例,编辑nginx配置文件
listen 443; ssl on; ssl_certificate /usr/local/nginx/conf/key/xxx.pem; ssl_certificate_key /usr/local/nginx/conf/key/xxx.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; ssl_session_cache shared:SSL:50m;
xxx.pem
就是从StartSSL下载下来的NginxServer.zip中的文件xxx_bundle.crt(须要把后缀改为pem)
xxx.key
这是以前执行 openssl req -newkey rsa:2048 -keyout yourname.key -out yourname.csr
时生成的key.
而后启动nginx ,输入密码(该密码是生成本地CSR时设置的)
到这来,就可使用https了,立刻打开你的域名试试吧。
其实在网上也能找到不少StartSSL的申请流程。可大多都是以前的,界面与操做方式都有所改变。这篇提供了最新的StartSSL申请流程,以帮助你们更快的进行SSL认证。
看以前的教程,会告诉你,在第7步后不能立刻下载SSL认证,StartSSL会有个客服审核的过程可能须要几小时,但如今的使用下来发现,如今已经没有这过程了,完成第7步就能够去认证的列表下载SSL认证。
本文的目的是为了微信小程序请求能使用https
因此,最后若是在调用微信wx.request接口时仍是报错,能够参考这篇寻找解决之法。