申请阿里云服务器并配置SSL证书(附带微信公众号配置服务器)

首先大家要了解到自己的笔记本连接wifi是没有公网的,当然建议大家在公司测试,毕竟在工作空余时间学习学习提升一下技术还是比较好的

首先服务器配置,最重要的一点 要有自己的服务器, 如果有公网的话 可以百度登录一下192.186.0.1 或者 192.168.1.1 映射一下自己的端口就可以;

当然没有公网也有解决办法 接下来就一一讲解

首先没有公网的话,就涉及到购买带公网的服务器了

那有人就会说了,不就是个服务器嘛 我自己vmware创建一个虚拟机布置个Linux系统不就是服务器嘛.  错 大错特错,自己的虚拟机是没有公网ip的,是内网开发. 如果想要公网访问,那必须是购买服务器.

那有人又说了,那购买服务器去哪买? 多少钱一个服务器? 期限是多久? 有这些担心是再正常不过的了. 

全部安排!!

首先 

一、登录阿里云

https://www.aliyun.com/ 阿里云平台

点击免费试用

有很多ecs产品,大家可以根据需求自行选择, 本人为了测试方便,直接选择个人试用(在申请免费试用服务器的时候需要认证,如果是个人试用那就是个人身份信息认证,如果是企业认证,要求挺多的,建议试用个人申请)

点击立即试用,进去还有个立即试用点击完了之后会跳转页面

跳到这个页面之后 可以看到有个远程连接

点击远程连接会跳到阿里云自带的平台进行测试连接

大概就是个这样代替shell的东西,没什么用,主要测试能连接就行

重点:

上面步骤弄好了之后点击蓝色的实例id跳转到下面页面

点击安全组

点击配置规则跳到下面页面

点击手动添加

这里讲一下 第一到第三个下拉框默认,其中 目的(设置你的项目端口 注意接口冲突! 例: 你的Java项目端口是8897 你这个下拉框里就要设置到 8890-8899区间,  以后你的所有项目端口都可以在这个区间被访问到)\ 源(默认0.0.0.0/0) 添加描述,点击保存即可

到此 申请免费服务器就先告一段落,接下来才是重中重

光有服务器是不行的,不要忘了初心是要在公众号配置服务器 再贴下图

首先要明确URL中要填写的是接口, 是要公网能访问到的接口! http默认端口80 https默认端口443

token是随便输入的,你在这里填写的是tokenHandler在接口里就要和这里对应上

EncodingAEsKey 是点击右边随机生成的

消息加解密方式: 自己测试建议明文模式, 除明文外 其他两个涉及加密,我就选择了明文 大家可以根据自己需求自行选择;


打开Xshell 或者其他shell工具 

我这边使用的是Xshell7 & FinalShell

FinalShell与Xshell的区别是 FinalShell可以进行文件的传输.当然还有很多可以传输的shell IDE可以自行选择;

这里可以看到你的公网IP

回到这里点击重置实例密码

密码是要大小写和符号拼接的 最好保存一下 这种密码我是挺容易忘的

(shell与服务器建立连接时要用)


打开Xshell新建连接(shell操作不在多说 不会自行百度Xshell新建连接)

看到welcome 就是连接成功了

连接成功有几件重要的事情

1压缩tomcat(可选)

2安装jdk

3需要页面 请安装nginx

4安装MySQL

注意 Linux中 jdk放在root里面是不用配置环境变量的, 如果要放到别的文件夹里面,需要配置一下profile环境变量挺麻烦的, 所以最好还是安装在root下面省事

如果项目是SSM项目 没有集成springboot 那就需要在Linux里面安装tomcat将项目放在本机的tomcat里面跑一遍之后打成压缩包使用FinalShell将本机的项目zip包传输到Linux, 最好放到tomcat路径下的webapps文件夹里

传输进来之后将zip解压 

解压命令 unzip xx.zip

如果提示未找到unzip命令 请执行下面命令

yum list | grep zip/unzip 获取安装列表 如果获取不到说明没有安装

yum install zip 继续执行这段命令

yum install unzip 提示输入时 请输入y;

然后继续执行 unzip xx.zip

解压成功!

记得重启tomcat

当前在webapps文件夹 执行命令 cd../bin/切换文件夹

执行./shutdown.sh 关闭tomcat

执行./startup.sh 启动tomcat

然后在tomcat目录下有一个logs文件夹

进去之后

别的不重要,咱们最主要的还是要看catalina.out这个文件

执行命令: tail -f catalina.out

查看全局日志

如果是jar包形式启动的话 执行命令

nohup java -jar xxx.jar >nouhup.out 2>&1 &

这段命令是在当前文件夹生成一个nohup.out文件,并且项目进程不挂断启动 看日志也是执行 tail -f nohup.out 

这些都是Linux基本命令, 不再过多解释

到现在基本服务器环境就搭建好了

拿你自己的这个服务器的公网IP在本地浏览器访问一下

能正常访问到tomcat就说明没问题, 继续加上项目控制层和接口路径访问,网页返回的状态只要不是404 就没问题,一般都是400;

这两天查询资料过程中,有很多人说 使用公网IP进行微信服务器配置是配置不到的,提示url路径错误,说是必须要配置域名才能访问; 

当然大家可以试一试如果IP可以配置成功的话就不用申请域名了,如果以后服务器打算常用 尽量申请一个域名 毕竟IP裸露在外面不雅观不说,容易被攻击是真的

先贴下代码吧 昨天的接口代码大家看看即可 以今天的为准,因为我已经测通了

@GetMapping("/wxCallback")
    public String wxCallback(@RequestParam(name = "signature") String signature,
                             @RequestParam(name = "timestamp") String timestamp,
                             @RequestParam(name = "nonce") String nonce,
                             @RequestParam(name = "echostr") String echostr){

        //将所需参数放入List
        List<String> list = Arrays.asList("tokenHader", timestamp, nonce);
        //将list数据进行字典排序
        List<String> collect = list.stream().sorted(
                Comparator.comparing(x -> Collator.getInstance(Locale.CHINA).getCollationKey(x))
        ).collect(Collectors.toList());

        //将collect集合数据拼接为字符串
        StringBuilder res = new StringBuilder();
        for (int i = 0; i < collect.size(); i++){
            String s = collect.get(i);
            res.append(s);
        }
        String strs = res.toString();
        //sha1加密
        try {
            MessageDigest messageDigest = MessageDigest.getInstance("SHA1");
            byte[] digests = messageDigest.digest(strs.getBytes());
            StringBuilder stringBuilder = new StringBuilder();
            for (int i = 0; i < digests.length; i++) {
                int halfbyte = (digests[i] >>> 4) & 0x0F;
                for (int j = 0; j <= 1; j++) {
                    stringBuilder.append(
                            halfbyte <= 9
                                    ? (char) ('0' + halfbyte)
                                    : (char) ('a' + halfbyte - 10));
                    halfbyte = digests[i] & 0x0F;
                }
            }
            System.out.println(stringBuilder);
            //验证是否是微信的GET请求 如果是 返回 echostr
            if (stringBuilder.toString().equals(signature)){
                return echostr;
            }
        } catch (final Throwable throwable) {
            System.err.println("error converting password");
        }
        return "校验失败,配置服务器失败";
    }

所以接下来给大家讲解一下申请域名流程并且还有申请SSL证书

申请域名

百度搜索'万网'

输入你想申请的域名 自定义

选择你要申请的域名 自行选择

加入清单后 会进到你的购物车里,域名清单;

点击立即购买

如果申请服务器时选择的个人申请,那这边域名持有者也要选择个人,点击创建新的信息模板,根据要求填写完成之后需要等2-3个小时审核时间,审核完成之后才能继续购买

审核完成之后 选择自己的模板, 优惠口令暂时不用,点击接受并立即购买

注意: 阿里云账号要实名认证!

购买完成后

点击解析

配置自己的域名

需要配置一下DNS 阿里云有自己的免费DNS服务器 点击侧边栏的DNS进行配置 很简单根据提示配置就可以了

点击添加记录进行解析

记录类型: 默认

主机记录: 自定义, 我写的是 www

解析请求来源:默认

记录值:服务器IP

TTL:默认

点击确认,完成解析

过10分钟之后 在本机控制台 win+R输入cmd  ping一下自己刚刚解析的域名 能ping通,说明没问题了.

到此域名基本结束 有问题私信公众号

申请完域名,就要去申请SSL证书了

要访问https SSL证书是必不可少的

在当页上面搜索框搜索SSL证书

刚进来是空的, 点击立即购买

没有特殊需求的,和我选一样的就可以,选择完之后点击立即购买

完成之后跳出页面,点击创建证书 

根据步骤填写即可

审核通过之后,回到证书页面点击下载

下载完成之后 简单说一下配置问题:

下载解压完之后 会出现这两个文件 上面是证书 下面是证书密码;

密码要配置在哪呢? 首先要区分你的项目框架, 如果是集成springboot框架的话,那就需要在在项目里配置

首先说Springboot:

将证书文件放入resource下

记得加上classpath 后面是你的证书文件名

key-store-type默认PKCS12

key-store-password 是prx-password.txt里面的密码 进去复制上去就行

因为Springboot框架使用的tomcat是框架中集成的 而不是咱们本机的tomcat 所以不能在本机的tomcat里面配置;

其次 SSM框架

SSM框架就涉及到本机tomcat了 那么关于tomcat配置SSL证书 百度上有详解,这边就不作详细解释 简单了解一下即可  springboot框架目前还是主流的;

首先将证书传输到服务器里,随机指定文件夹一会要用!

我放到了tomcat里的conf文件夹里;

进入服务器里tomcat的目录一般都放在/usr/local/tomcat这里

进入conf文件夹 编辑server.xml文件

执行命令: vim conf/server.xml 

进入映入眼帘的是tomcat默认配置好的8080端口 

其中主要的字段是 redirectPort

解释一下: redirectPort是用来配置指定端口来SSL连接,一般默认配置是8443,但是浏览器https默认端口请求ssl服务器默认的是443端口,所以在https下将8443改为443;

浏览器http请求默认端口是80  https默认是443

具体TCP协议不再多说

随便找个地方将配置写入

<Connector port="443" 

          protocol="org.apache.coyote.http11.Http11NioProtocol"

          maxThreads="150"

          SSLEnabled="true">

        <SSLHostConfig>

            <Certificate       certificateKeystoreFile="/usr/local/tomcat/conf/SSL证书"

             certificateKeystorePassword="证书密码"

             certificateKeystoreType="PKCS12" />

        </SSLHostConfig>

    </Connector>

配置完成之后 重启tomcat;

在本机浏览器访问:www.你的域名 

具体路径是什么 以你当时解析的域名配置为准

如果访问不到,先去本机ping一下域名看看是否ping通, 如果没ping通 就去域名解析那里找问题,可能是没映射好,按照我的思路进行搭环境一般没问题

如果能ping通可以尝试把https换成http 然后在域名后面加上tomcat默认端口8080 在你的服务器里tomcat/conf里面;

如果出现这个页面 提示你该域名没有备案, 这时候你就要去执行备案操作了,一般申请了域名2-3天以后才可以申请备案.

备案要准备好身份证正反面和手持身份证的照片,而且要写一个页面,页面底部要标注好备案号 这样才可以正常访问;

如果还是访问不到,可以尝试用公网IP不用域名访问试一下(访问不到的几率很小,目前没遇到) 或者重启tomcat再试;

最后 小建议: 如果申请免费服务器的话,默认是从当月1号开始的, 我就是月末申请的 结果他默认是三个月,相当于我少用了将近一个月的免费服务器. 所以大家要谨慎哦! 

我是77  欢迎关注我的公众号 '77码农'

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值