阿里云centos7线上项目绑定域名且使用https的方式访问

38次阅读

共计 1511 个字符,预计需要花费 4 分钟才能阅读完成。

导读

如今,毕业将近一年了。一直使用公司的老框架,该框架采用前后端不分离的模式。但是,最近公司想要采用前后端分离的模式,并让我重新架构新框架。对于,毕业不久的我,担任了架构师的角色,于是,徒手编写新的框架,最后,成功了,已实现前后端分离的效果。并把它部署到线上,同时,使用了 HTTPS 格式。

前后端具体怎么分离的,在这里,我就不细说了,我就说部署之后绑定域名和 ssl 这部分吧。

准备工作

  1. 服务器。我使用阿里云的 centos7 服务器
  2. Tomcat。我用的是 Tomcat7
  3. MySQL。我用的是 MySQL5.7
  4. jdk。我用的是 jdk8
  5. ssl
  6. dns 解析
  7. 域名备案

前提条件

我已经把项目部署到 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 即可访问该项目。

备注

成为架构师还真不容易,需要掌握太多的知识点。越努力,越幸运。

正文完
 0