一、前言
1、什么是HTTPS以及什么是SSL?
HTTPS全称是:超文本安全传输协议,可以简单理解为使用SSL加密传输的HTTP协议,HTTP的默认端口是80,HTTPS的默认端口是443。SSL是为网络通信提供安全及数据完整性的一种安全协议。http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html
2、为什么要使用HTTPS
为了保护信息传输的安全性,数据完整性。让访客觉得网站可信任,对于国内的网络环境,也可以防止宽带运营商强制给网站挂广告。
二、操作步骤
1、申请免费SSL证书
https://console.qcloud.com/ssl?apply=1&fromSource=ssl
目前腾讯云有免费的SSL证书申请入口,而且发放速度极快,尤其是放在DNSPOD解析的域名。
2、Nginx配置示例
(1) Nginx配置SSL
server {
listen 443; #监听443端口
server_name baidu.io; #监听的域名
ssl on; #开启SSL
ssl_certificate /webroot/ssl/ken.io.crt; #证书文件
ssl_certificate_key /webroot/ssl/ken.io.key; #私钥文件
location / { #转发或处理
proxy_pass http://www.baidu.com;
}
}
(2)Nginx将HTTP请求301重定向到HTTPS
server {
listen 80; #监听80端口
server_name baidu.io www.baidu.io; #监听的域名
return 301 https://baidu.io$request_uri;
}
三、备注
如果升级到HTTPS之后,浏览器提示您与此网站之间建立的连接并非完全安全,那应该是站点引用了非HTTPS站点的资源。这个时候有以下几种方法:
序号 | 方法 |
---|---|
1 | 将公共静态资源选择引用公共CDN,比如:http://www.bootcdn.cn/ |
2 | 将自定义的css、图片等静态资源放在七牛云或者又拍云 |
3 | 将自定义的css、图片等静态资源放在站点下(不推荐) |