一、为什么要搭建SSL服务器
目前互联网常用的HTTP协议是非常不安全的明文传输协议。而SSL协议及其继任者TLS协议,是一种实现网络通信加密的安全协议,可在客户端(浏览器)和服务器端(网站)之间建立一条加密通道,保证数据在传输过程中不被窃取或篡改。
SSL证书,也称为服务器证书,是遵守SSL协议的一种数字证书,由全球信任的证书颁发机构(CA)验证服务器身份后颁发。将SSL证书安装在网站服务器上,可实现网站身份验证和数据加密传输双重功能。
实现加密传输
用户通过http协议访问网站时,浏览器和服务器之间是明文传输,这就意味着用户填写的密码、帐号、交易记录等机密信息都是明文,随时可能被泄露、窃取、篡改,被黑客加以利用。
安装SSL证书后,使用Https协议加密访问网站,可激活客户端浏览器到网站服务器之间的"SSL加密通道"(SSL协议),实现高强度双向加密传输,防止传输数据被泄露或篡改。
认证服务器真实身份
钓鱼欺诈网站泛滥,用户如何识别网站是钓鱼网站还是安全网站?网站部署全球信任的SSL证书后,浏览器内置安全机制,实时查验证书状态,通过浏览器向用户展示网站认证信息,让用户轻松识别网站真实身份,防止钓鱼网站仿冒。
二、选择购买安全证书
免费的目前有 2 个
国内的:免费SSL证书申请
国外的:StartSSL™ Certificates & Public Key Infrastructure
备注:其实,国内的这家的根证书,也是startssl签发的,实际上还是等于是startssl提供的免费证书。
便宜的有很多家,这里列举几个:
Namecheap:Cheap SSL Certificates from $7.95/yr • Namecheap.com
还是Namecheap:SSL Certificates. Buy Cheap SSL Certs from $4.99/yr
cheapssl:Cheap SSL Certificates. Buy or Renew Cheapest SSL at $4.80
再补充 2 个卖便宜 SSL 的:
Gogetssl:https://www.gogetssl.com/domain-validation/comodo-positive-ssl/
Starfieldtech:https://www.starfieldtech.com/
详细参考:如何获取SSL安全证书
三、配置Nginx服务器
安装好证书之后,会有证书的公钥和私钥文件:
公钥:api.yourdomain.com.crt
私钥:api.yourdomain.com.key
配置nginx服务器,在config添加以下解析记录:
server {
listen 443;
server_name api.yourdomain.com;
sslon;
ssl_certificate /usr/local/nginx/sslkey/api.yourdomain.com.crt;
ssl_certificate_key /usr/local/nginx/sslkey/api.yourdomain.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:-RC4+RSA:+HIGH:+MEDIUM:!EXP;
ssl_prefer_server_ciphers on;
root /home/wwwroot/api.yourdomain.com/;
index index.html index.htm index.php;
location / {
if (!-e $request_filename){
rewrite ^/(.*) /index.php last;
}
}
网友评论