前言

在之前的内容里,我们已经实现了部署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的更多相关文章

  1. java项目配置域名(tomcat直接配置 or 使用nginx反向代理)

    一:  tomcat直接配置域名:https://blog.csdn.net/qq_36330228/article/details/78516160 二: 使用nginx进行反向代理 tomcat服 ...

  2. [转帖]在 k8s 中通过 Ingress 配置域名访问

    在 k8s 中通过 Ingress 配置域名访问 https://juejin.im/post/5db8da4b6fb9a0204520b310 在上篇文章中我们已经使用 k8s 部署了第一个应用,此 ...

  3. [转帖]一个ip对应多个域名多个ssl证书配置-Nginx实现多域名证书HTTPS

    一个ip对应多个域名多个ssl证书配置-Nginx实现多域名证书HTTPS https://home.cnblogs.com/u/beyang/ 一台服务器,两个域名 首先购买https,获取到CA证 ...

  4. 配置tomcat的https域名

    配置tomcat的https域名: <Connector port=" protocol="org.apache.coyote.http11.Http11NioProtoco ...

  5. iis 配置多域名,多https

    当一个https的请求到达IIS服务器时,https请求为加密状态,需要拿到相应的服务器证书解密请求.由于每个站点对应的证书不同,服务器需要通过请求中不同的主机头来判断需要用哪个证书解密,然而主机头作 ...

  6. Ubuntu下配置apache开启https

    一.HTTPS简述随着网络的日常,信息安全越来越重要,传统的网站都是http协议明文传输,而HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,比http协议安全. 那ht ...

  7. Windows下Nginx配置SSL实现Https访问(包含证书生成)

    Vincent.李   Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...

  8. 配置WinRM的Https

    1. 打开IIS管理器,选中IIS服务根节点,然后在主内容页选中IIS条目下的服务器证书双击: 2. 在新出现的服务器证书面板下点右边一列的创建自签名证书 3. 证书名称是:名称(这里强调一下,证书的 ...

  9. Nginx多个域名,https redirect to http

    背景描述:Nginx绑定多个域名,其中一个域名配置了https,如域名A:https://www.aaa.com:另外的域名B(http://www.bbb.com)没有配置SSL证书, 问题:以ht ...

随机推荐

  1. windows 漏洞列表

    漏洞列表 #Security Bulletin   #KB     #Description    #Operating System CVE-2017-0213 [Windows COM Eleva ...

  2. 【编程开发】Python---列表

    ERROR:错误 waring:警告,还没到犯错的地步 print(r'\n')  r"字符串",字符串里的所有字符都不转义 str = "abcdef" 如果 ...

  3. C++ 关键字 enum

    转自:https://blog.csdn.net/cppwork/article/details/18814315 C++ 关键字 enum. 枚举 1.  概念 我们经常需要为某些属性定义一组可选择 ...

  4. [学习笔记] 树上倍增求LCA

    倍增这种东西,听起来挺高级,其实功能还没有线段树强大.线段树支持修改.查询,而倍增却不能支持修改,但是代码比线段树简单得多,而且当倍增这种思想被应用到树上时,它的价值就跟坐火箭一样,噌噌噌地往上涨. ...

  5. 初始python的类

    面向对象 一.面向对象 优点: 面向对象编程:是一类相似功能函数的集合,使你的代码更清晰化,更合理化. 面向对象,要拥有上帝的视角看问题,类其实就是一个公共模板,对象就从具体的模板实例化出来 类:就是 ...

  6. mysql linux 命令行操作

    1. 登录mysql      mysql -u 用户名 -p    回车输入密码 

  7. swoole父进程和子进程之间通信的例子

    <?php /** 这是一个swoole父进程和子进程之间通信的例子 */ //进程创建成功后回调处理 function handle(swoole_process $worker){ //从进 ...

  8. 将本地代码初始化上传到gitlab仓库

    首先你已经安装了git. 1.在本地代码目录,鼠标右键Git Bash Here: 2.执行git命令,此命令会在当前目录下创建一个.git文件夹, git init 3.将项目的所有文件添加到仓库中 ...

  9. [Docker] redis 全配置

    启动容器,加载配置文件并持久化数据 docker run -d --privileged=true -p 6379:6379 --restart always -v /usr/redis/conf:/ ...

  10. 在Jenkins容器中安装docker-compose

    首先使用Docker容器安装Jenkins 链接参考 安装成功后使用管理员权限进入到Jenkins容器 docker exec -it -u root jenkins bash 下载docker-co ...