导读
如今,毕业将近一年了。一直使用公司的老框架,该框架采用前后端不分离的模式。但是,最近公司想要采用前后端分离的模式,并让我重新架构新框架。对于,毕业不久的我,担任了架构师的角色,于是,徒手编写新的框架,最后,成功了,已实现前后端分离的效果。并把它部署到线上,同时,使用了 HTTPS 格式。
前后端具体怎么分离的,在这里,我就不细说了,我就说部署之后绑定域名和 ssl 这部分吧。
准备工作
- 服务器。我使用阿里云的 centos7 服务器
- Tomcat。我用的是 Tomcat7
- MySQL。我用的是 MySQL5.7
- jdk。我用的是 jdk8
- ssl
- dns 解析
- 域名备案
前提条件
我已经把项目部署到 centos7 上,并能够通过 ip 访问。接下来,就是域名解析和绑定,并结合 ssl。
具体做法
阿里云后台
首先登录阿里云的后台,你会看到如下界面
步骤 1,单击之后,你会看到如下界面,选择 云服务器 ECS
单击步骤 2,你会看到步骤 3,单击步骤 4 之后,再单击步骤 4,会跳出配置安全组的弹框。具体如何配置安全组,在 创建安全组 旁边会有教程。
在安全组中加入 443 这个端口,为什么要加入这个端口号?HTTPS 默认是的 443 端口。
绑定域名
单击步骤 1 之后,选择 域名 服务,选单击下图中的域名
如果你还没有备案你的域名,可以单击此链接进行备案。
此时,你可以看到你备案完成的域名,如图所示:
单击右面的 解析,进入到域名解析页面,如图所示:
如果不太熟悉解析操作,直接单击新手指导,输入你 公网的 ip即可解析,如图所示:
此时,已完成解析。你解析完成后,也不能立即访问,因为可能有延迟。即便可以访问,但是,你不能使用 http 访问,因为,你还没有配置 ssl。接下来,就是配置 ssl 的操作。
配置 ssl
阿里云证书申请
阿里云服务控制台 -> 安全(云盾)->SSL 证书
单击 购买证书 ,前去购买证书,填入补全资料,按照默认提示勾选,并绑定域名,即可申请成功。但是,你无法立即下载证书,因为的状态不是 已签发 ,这里有个 审核期,如图所示:
此时,你的状态是已签发,你可以下载证书。此时,它是压缩包。你解压之后,会看到两个文件。一个是 PDF 格式的文件,这是证书名称,即 keystoreFile;一个是以 TXT 结尾的文件,这是证书密码,即 keystorePass。
然后,在你的服务器上的 Tomcat 目录下,建一个名为 cert 的文件夹,把解压后的文件拷贝进去,如图所示:
进入到文件夹 cert 下的 conf 文件中,找到 server.xml 文件并打开,找到 8443 端口号。Tomcat 默认将其注释,此时,将注释去掉,并修改端口号为 443 填写如下内容:
<Connector port="443"
protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="你证书名称的全路径"
keystoreType="PKCS12"
keystorePass="你证书的密码"
/>
此时,用不到 SSLProtocol 和 ciphers,直接注释掉就可以。
此时,找到 host 标签,如下图所示:
有人建议,需要在 autoDeploy="true"
后添加 docBase 属性,来配置指定目录的绝对路径。也就是说,当用户输入域名时,默认的展示页面。我没有添加,而是,直接再目录 WebApps/ROOT 中的目录中,将前端项目放在里面,如图所示:
此时,输入域名:https://www.superjson.com 即可访问该项目。
备注
成为架构师还真不容易,需要掌握太多的知识点。越努力,越幸运。