SSL证书:
SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。
SSL 证书就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。
SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了),即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露,保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否是真实可靠。数字签名又名数字标识、签章 (即 Digital Certificate,Digital ID ),提供了一种在网上进行身份验证的方法,是用来标志和证明网络通信双方身份的数字信息文件,概念类似日常生活中的司机驾照或身份证。 数字签名主要用于发送安全电子邮件、访问安全站点、网上招标与投标、网上签约、网上订购、网上公文安全传送、网上办公、网上缴费、网上缴税以及网上购物等安全的网上电子交易活动。
证书获取
向专门的证书机构购买,本人的服务器位于阿里云,阿里云提供有免费的个人用ssl证书,登录云盾平台购买
跟着操作就行了
注意该证书只能匹配一个域名
##证书部署
基于nginx加tomcat部署:
1.在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。
2.修改nginx安装目录下conf中的nginx.conf
server {
listen 443;
server_name 域名;
ssl on;
#root html; #index index.html index.htm;
ssl_certificate cert/证书名.pem;
ssl_certificate_key cert/ 证书名.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://localhost:8383; 项目地址注意这个地方一定不能写https除非tomcat设置了https访问 proxy_set_header Host $host:443;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Via "nginx";
}
}
##重定向
server {
listen 80;
server_name xxx.xxx.com.cn;
rewrite (.*) https://XXXXXXX;
域名 location / { }
}
重启nginx
3.tomcat增加对https协议的支持
Connector节点加入 redirectPort="443"proxyPort="443"
加入新的Value节点
remoteIpHeader="x-forwarded-for"
remoteIpProxiesHeader="x-forwarded-by"
protocolHeader="x-forwarded-proto"/>