配置域名与Https

Posted kyriewang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置域名与Https相关的知识,希望对你有一定的参考价值。

前言

在之前的内容里,我们已经实现了部署SpringBoot项目到云服务器,但是当时用的是直接通过ip+端口的方式访问的,在之后如果是想对接上自己开发的小程序的话,必须要https的地址才行,因此今天我们来试试怎么为我们的后台配置域名与SSL证书

部署前的准备

  1. 云服务器
  2. 已经在云服务器上跑通的SptringBoot项目

最终效果

技术图片

步骤

配置域名

购买域名

我们直接在腾讯云的官网上购买域名即可,如果没有什么特别的要求,大概也就20/年的价格,还是很便宜的
技术图片
购买流程就不多啰嗦了,和普通购物一样

域名绑定

购买成功之后,我们就需要把域名与我们的云服务器绑定了,如下图所示点击域名的解析按钮进入绑定页面
技术图片
在绑定页面点击添加记录后,需要关注的就只有主机记录和记录类型了,一般分别填写@和自己的云服务器ip即可
技术图片
技术图片
输入完上面的内容后,点击保存即可,至此域名就算配置结束了

域名备案

所有域名都是需要备案的,不过短时间内不备案大概也不会有影响。备案的话大概就是提交一些身份证之类的信息给相应部门进行审核,在腾讯云里搜索网站备案就可以找到入口了,目前我也是刚刚申请备案,暂时还在审核中,所以就不在此赘述了。

配置https

申请SSL证书

https按我的理解就是http+SSL验证,所以我们第一步就是申请一个SSL证书,入口和上面申请域名类似,在腾讯云首页搜索SSL证书就可以找到了,这里我们个人使用就申请一个免费证书就可以了,叫做免费版DVSSL证书
技术图片

技术图片

技术图片

下载SSL证书

申请好后,在证书管理界面把证书下载下来解压,之后通过nginx配置时需要Nginx文件夹里的文件
技术图片

配置Nginx

Nginx理解

Nginx按照百度百科的说法,是一个高性能的HTTP和反向代理web服务器。按我的菜鸟级理解,就是我们通过域名访问到云服务器之后分发请求的东西。由于https只支持443端口的访问,当我们用户通过https请求时,就会访问到Nginx上,Nginx再帮我们把请求分发到不同项目上

云端安装Nginx

安装比较简单,直接执行如下指令即可

yum install openssl-devel nginx
配置Nginx
  1. 进入Nginx文件夹内,创建ssl文件夹
cd /etc/nginx/
mkdir ssl
  1. 通过xftp导入ssl证书文件到该ssl文件夹内
    技术图片
  2. 在本地按照如下内容创建一个类似wangxxx.conf的配置文件,通过xftp导入到/etc/nginx/conf.d/文件夹下,注意域名和证书公钥、私钥记得改成自己的
server{
    listen 80;    #表示监听80端口
    server_name wangxxx.cn www.wangxxx.cn;
location / {    #将80端口强制转为https
        rewrite (.*) https://www.wangxxx.cn$1 permanent;
    }
}
server
{
    listen 443 ssl;    #表示监听443端口即https
    server_name wangxxx.cn www.wangxxx.cn;
    ssl_certificate /etc/nginx/ssl/1_wangxxx.cn_bundle.crt;   #证书公钥文件路径
    ssl_certificate_key /etc/nginx/ssl/2_wangxxx.cn.key;      #证书私钥文件路径
    ssl_session_timeout 5m;                                         #5分钟session会话保持
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    location / {    #跳转到实际应用
        proxy_pass http://127.0.0.1:8080;
        proxy_redirect   off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

技术图片
4. 启动Nginx

service nginx restart

至此就算整个https配置完毕了

  1. 最后再试一下效果

技术图片

引用

感谢以下大神的相关博文

  1. 腾讯云服务器配置https访问证书-nginx(极简)
  2. Centos7.3防火墙配置
  3. 服务器绑定自己的域名-腾讯云
  4. nginx启动成功进程正常,浏览器访问不了,欢迎页面不出现

后记

接下来会试着在服务器端配置好自己的数据库,实现通过接口访问云服务器端的数据库












以上是关于配置域名与Https的主要内容,如果未能解决你的问题,请参考以下文章

配置域名与Https

配置域名与Https

Traefk配置https域名详解

6.django restframework 项目部署到ubuntu18.04上(配置域名与https)

微信支付 域名与后台配置不一致 当前页面的URL未注册

腾讯云域名申请+ssl证书申请+springboot配置https