【实现HTTPS访问】Nginx + SSL证书 + 域名整合流程详解

1、购买云服务器

我购买的是阿里云ECS(2核2G),具体购买流程这里不做过多讲解。

注意:中国大陆的阿里云服务器(套餐为3个月以上),想要使用域名访问服务器需要备案,低于3个月使用期的服务器不可以备案(不可以使用域名访问),我购买的是7天有效期,服务器地址为中国香港,这样可以省去备案步骤。

购买完毕,记得把安全组(80,443)进行开放,为后续操作做好准备:
在这里插入图片描述

2、注册域名

访问阿里云官网首页,进行域名注册购买,步骤如下:

  1. 点击域名与网站 Domains
    在这里插入图片描述
  2. 点击域名注册
    在这里插入图片描述
  3. 查询注册
    在这里插入图片描述
  4. 注册购买
    该步骤信息敏感,省略…

3、申请 SSL 证书

  1. 点击数字证书管理服务(SSL证书)
    在这里插入图片描述

  2. 点击立即购买
    在这里插入图片描述

  3. 点击证书申请
    在这里插入图片描述

  4. 点击提交申请(SSL证书和域名进行绑定)
    在这里插入图片描述

  5. 点击 解析设置,为域名添加DNS云解析(域名和IP进行绑定)
    在这里插入图片描述

  6. 填写 解析设置
    在这里插入图片描述

  7. 大约5分钟,阿里云通过短信通知:您为域名购买的SSL证书已签发成功,审核完成!

4、安装 Docker

  1. 首先,安装Docker,参考该文章第1节,按流程操作即可:
    https://blog.csdn.net/weixin_46594796/article/details/122750009

5、安装 Nginx

  1. 创建挂载目录
mkdir -p /usr/local/nginx/{conf,html,logs,ssl}
  1. 下拉Nginx镜像
docker pull nginx
  1. 启动Nginx容器
docker run --name nginx -p 80:80 -d nginx
  1. 容器中nginx.conf和conf.d复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/conf/
docker cp nginx:/etc/nginx/conf.d /usr/local/nginx/
  1. 删除容器,重启Nginx
# 停止容器
docker stop nginx

# 删除容器
docker rm nginx

6、整合 SSL 证书

  1. 下载 SSL 证书
    在这里插入图片描述

  2. 将下载好的 SSL 证书上传到服务器中

  3. 将下载好的 SSL 证书放到 /usr/local/nginx/ssl

mv 9876237_www.xuzhibin.top.key /usr/local/nginx/ssl
mv 9876237_www.xuzhibin.top.pem /usr/local/nginx/ssl
  1. 修改 default.conf 文件
# 编辑 default.conf 文件
vim /usr/local/nginx/conf.d/default.conf

配置内容为:

server {
    listen       80;
    listen  [::]:80;
    server_name  你的域名;

    rewrite ^(.*) https://$server_name$1 permanent;

}

server {
    listen       443 ssl;
    server_name  你的域名;

    ssl_certificate      /etc/nginx/ssl/你的pem证书;
    ssl_certificate_key  /etc/nginx/ssl/你的key证书;

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
        proxy_set_header   X-Real-IP         $remote_addr;
        proxy_set_header   Host              $http_host;
        proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}
  1. 创建Nginx访问首页
cd /usr/local/nginx/html
echo "Hello XuZhiBin Success!!!!" > index.html
  1. 启动 Nginx 容器
docker run \
--name nginx \
-p 443:443 -p 80:80 \
-v /usr/local/nginx/logs:/var/log/nginx \
-v /usr/local/nginx/html:/usr/share/nginx/html \
-v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/nginx/conf.d:/etc/nginx/conf.d \
-v /usr/local/nginx/ssl:/etc/nginx/ssl/  \
--privileged=true -d --restart=always nginx
  1. 输入域名,访问成功!
    在这里插入图片描述
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值