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

文章目录

      • 1、购买云服务器
      • 2、注册域名
      • 3、申请 SSL 证书
      • 4、安装 Docker
      • 5、安装 Nginx
      • 6、整合 SSL 证书

1、购买云服务器

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

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

购买完毕,记得把安全组(80,443)进行开放,为后续操作做好准备:
【实现HTTPS访问】Nginx + SSL证书 + 域名整合流程详解_第1张图片

2、注册域名

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

  1. 点击域名与网站 Domains
    【实现HTTPS访问】Nginx + SSL证书 + 域名整合流程详解_第2张图片
  2. 点击域名注册
    【实现HTTPS访问】Nginx + SSL证书 + 域名整合流程详解_第3张图片
  3. 查询注册
    【实现HTTPS访问】Nginx + SSL证书 + 域名整合流程详解_第4张图片
  4. 注册购买
    该步骤信息敏感,省略…

3、申请 SSL 证书

  1. 点击数字证书管理服务(SSL证书)
    【实现HTTPS访问】Nginx + SSL证书 + 域名整合流程详解_第5张图片

  2. 点击立即购买
    【实现HTTPS访问】Nginx + SSL证书 + 域名整合流程详解_第6张图片

  3. 点击证书申请
    【实现HTTPS访问】Nginx + SSL证书 + 域名整合流程详解_第7张图片

  4. 点击提交申请(SSL证书和域名进行绑定)
    【实现HTTPS访问】Nginx + SSL证书 + 域名整合流程详解_第8张图片

  5. 点击 解析设置,为域名添加DNS云解析(域名和IP进行绑定)
    【实现HTTPS访问】Nginx + SSL证书 + 域名整合流程详解_第9张图片

  6. 填写 解析设置
    【实现HTTPS访问】Nginx + SSL证书 + 域名整合流程详解_第10张图片

  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 证书
    【实现HTTPS访问】Nginx + SSL证书 + 域名整合流程详解_第11张图片

  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. 输入域名,访问成功!
    【实现HTTPS访问】Nginx + SSL证书 + 域名整合流程详解_第12张图片

你可能感兴趣的:(ssl,https,nginx,linux,http)