HTTPS介绍
HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面,更多信息可在 百度百科 中了解。
也可以参考 阿里云官方的配置教程
准备工作
在开始配置之前,需要准备有效的https
证书,这里使用阿里云的免费证书。
第一步 登陆阿里云官网,搜索SSL证书
,在服务中点击如下导航购买证书资源包
点击后面的`立即购买`按钮,在弹出层中购买20个即可(20个为免费提供)
第二步 申请证书
在证书资源包中,点击下图按钮
需要申请几个域名的证书就设置成几个
第三步 补充资料
点击下方图中的证书申请,补充资料:
- 证书绑定域名: 填写单个域名(免费的只支持填写单个)
- 域名验证方式: 如果域名在当前阿里云账号,则会自动验证,否则需要自己手动根据提示配置验证
- 联系人: 根据提示新增或选择联系人即可
- 其余项默认即可
填写完成后,根据提示提交完成审核,等待审核即可。
第四步 获取证书文件
审核完成后,可以在列表中看到签发状态以及下载证书
点击下载按钮,下载nginx
版本的证书
上传证书到服务器
将上面得到的证书文件zip解压或直接上传zip文件包值服务器(如果上传的是zip包,需要在服务器上面使用unzip
命令解压)。
配置nginx支持https
#以下属性中,以ssl开头的属性表示与证书配置有关。
server {
listen 80;
#如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
listen 443 ssl;# 配置HTTPS的默认访问端口为443。
server_name yourdomain.com; # 需要将yourdomain.com替换成证书绑定的域名。
# 强制跳转到https配置
if ($server_port !~ 443){
rewrite ^(/.*)$ https://$host$1 permanent;
}
root html;
index index.html index.htm;
ssl_certificate cert/cert-file-name.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。
ssl_certificate_key cert/cert-file-name.key; #需要将cert-file-name.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; #表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;
location / {
root html; #站点目录。
index index.html index.htm;
}
}
温习提示: 若配置之后,访问https链接无法加载,可先排查服务器是否开放443端口!若是阿里云的服务器,需要前往服务器的安全组中开放!
文章来源:
鸿辰
版权声明:本网站可能会转载或引用其他来源的文章、图片、数据等信息。对于这些转载内容,版权归原作者所有。本站尊重原作者的劳动成果,并在可能的情况下注明来源和作者。如有任何版权问题,请及时联系,收到后将第一时间处理。