1.获取ssl证书(以阿里云为例)
-
1.访问
云盾证书服务购买页
- 链接: 云盾证书服务购买页 2.完成下图所示的购买配置,单击立即购买。
-
如图:
3.登录
数字证书管理服务控制台。
-
链接:
数字证书管理服务控制台
3.1在左侧导航栏,单击SSL证书。
3.2在SSL证书页面,单击免费证书页签。
3.3单击创建证书。
创建成功如图:
3.4点击新生成证书操作列的 证书申请。
4.下载证书到本地(nginx)
-
解压后您将会获得以下文件:
2.安装ssl证书
-
2.1在nginx的conf目录下 新建cert文件夹
-
mkdir cert #创建证书目录,命名为cert。
2.2编辑Nginx配置文件(nginx.conf),修改与证书相关的配置内容。
-
vim nginx.conf
注意!在HTTP协议代码里面添加以下server配置 http{}
#以下属性中,以ssl开头的属性表示与证书配置有关。
server {
listen 443 ssl;
#配置HTTPS的默认访问端口为443。
#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
#如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
server_name yourdomain; #需要将yourdomain替换成证书绑定的域名。
ssl_certificate cert/cert-file-name.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。
ssl_certificate_key cert/cert-file-name.key; #需要将cert-file-name.key替换成已上传的证书私钥文件的名称。
#根据自己需求填写
location / {
proxy_pass 自己的地址;
}
}
如果您希望所有的HTTP访问自动跳转到HTTPS页面,则可以在需要跳转的HTTP站点下添加以下rewrite语句。
server {
listen 80;
server_name 自己的域名;
rewrite ^(.*)$ https://$host$1;
}
如果您使用的是阿里云ECS服务器,请前往ECS管理控制台的安全组页面,配置开放443端口。
链接:安全组
3.如果使用docker容器安装nginx时,注意如下
详情可查看:如何给已经创建好的docker容器暴露新的端口
- 需暴露容器443端口号。
2.暴露后可通过 在服务器上
curl https://自己的地址
测试在服务器上是否能正常请求,如果在服务器上可以访问,浏览器不行,可设置服务器防火墙来处理。