什么是HTTPS协议?
下面引用维基百科的资料:
超文本传输安全协议(英语:Hypertext Transfer Protocol Secure,缩写:HTTPS,也被称为HTTP over
TLS,HTTP over SSL或HTTP
Secure)是一种网络安全传输协议。在计算机网络上,HTTPS经由超文本传输协议进行通信,但利用SSL/TLS来对数据包进行加密。HTTPS开发的主要目的,是提供对网络服务器的身份认证,保护交换数据的隐私与完整性。这个协议由网景公司(Netscape)在1994年首次提出,随后扩展到互联网上。
详情请戳:Wikipedia
下面开始进行配置:
1、获得SSL证书
既然我们需要使用HTTPS协议,那么一份SSL证书就必不可少。获得的方式有很多,可以在沃通、赛门铁克等证书签发机构购买,如果没有钱(比如我)也可以在StartSSL等网站免费获得。下面以StartSSL为例来介绍。
首先我们打开StartSSL的官网:https://www.startssl.com/
然后单击右上角的“Sign-up”
选择“Country”(国家)并填写“Email”,勾选“I have read and agree to ”并点击“Send verification code”根据提示来完成注册
注册后网站会请求在你的浏览器安装一个你的证书,点击确定就行了,否则无法登陆
然后回到网站首页,点击右上角的“Login”进行登录
登录后点击如图所示图标进入SSL证书申请页面:
第一次登录会让你添加你的域名,按提示添加并验证即可
验证后点击“Validations Wizard”,这里就可以添加你的域名了。
添加域名成功后,你就可以开始给自己的域名申请StartSSL免费SSL证书了。
申请StartSSL免费SSL时,会要求填入CSR。
你可以在VPS中执行以下命令,打开yourname.csr
复制其中的内容即可(yourname可换成你喜欢的名字):
openssl genrsa -out yourname-privkey.pem 2048
openssl req -new -key yourname-privkey.pem -out yourname.csr
没有VPS主机的朋友也不用担心,StartSSL提供了PKI自动生成CSR,你可以输入密码,提交生成。如图:
使用PKI自动生成CSR,最后会得到一个被加密的密钥,这个密钥要好好保存,获取你的SSL证书私钥就靠它了,建议自己复制保存在本地。
接下来就可以提交审核了。
收到了StartSSL免费SSL开通成功的邮件后,你就可以登录到StartSSL免费SSL的“证书列表”中查看并下载了。
2、服务器的配置
下载下来的StartSSL免费SSL证书包,里面有四个包,分别对应不同的Web环境:Apache、Nginx、Windows IIS和其它。
我们以Nginx为例,首先提取出里面的.csr文件,保存至VPS中你喜欢的目录(不能被别人轻易访问到的目录)
然后通过“Tool Box”中的PKI在线生成的CSR,得到的是加密的密钥,你需要使用“Decrypt Private Key”工具将密钥(也就是yourname-privkey.pem
中的内容)解密为可使用的SSL证书私钥,复制你的证书密钥,填入你申请时设置的密码,提交解密。
将解密后的内容保存为.key文件发送到VPS中存放证书的目录
打开并编辑Nginx的配置文件,添加以下内容:
server {
server_name YOUR_DOMAINNAME_HERE;
listen 443;
ssl on;
ssl_certificate /usr/local/nginx/conf/server.crt;
ssl_certificate_key /usr/local/nginx/conf/server.key;
}
其中将YOUR_DOMAINNAME_HERE
改为你通过验证的域名,将ssl_certificate
和ssl_certificate_key
的目录分别改为对应的.crt和.key文件
现在重启Nginx服务:
service nginx restart
打开你的网站,你会发现你的网站已经正在使用HTTPS协议啦