欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

我只是想获取access_token而已

程序员文章站 2022-07-03 18:32:54
起因是想在微信小程序中获取access_token。 之前资源只有一个阿里云虚拟主机和一个域名,于是用C#后端写了GET请求的接口,准备调用自己域名下的接口获取access_token 使用微信的wx.request接口 发现报错,提示该域名不在服务器合法域名中 于是去微信小程序的开发设置中的服务器 ......

   起因是想在微信小程序中获取access_token

   我只是想获取access_token而已

  之前资源只有一个阿里云虚拟主机和一个域名,于是用C#后端写了GET请求的接口,准备调用自己域名下的接口获取access_token

  使用微信的wx.request接口

    wx.request({
      url: "www.xxxxxx.com/home/gettoken",
      success:function(res){
        console.log(res)
      }
    })

  发现报错,提示该域名不在服务器合法域名中

  于是去微信小程序的开发设置中的服务器域名配置

我只是想获取access_token而已

  添加了request合法域名为 xxxxx.com;

  仍然提示不在合法域名中,仔细一看,原来小程序要求配置的服务器域名必须是https

我只是想获取access_token而已

 

  行,那就去阿里云搞一个证书,登录阿里云管理控制台,列表选择安全(云盾)-》CA证书服务,购买证书

我只是想获取access_token而已

   等几分钟证书就申请好了,点【下载】

我只是想获取access_token而已

 本人的是云虚拟主机啊,只是服务器上的一个文件夹而已,根本没办法去配置证书,怎么办,然后去查资料,发现可以通过CDN加速或者上负载均衡来实现

 如果你觉得上面两种方式能满足你的需求,请另行百度,总之我是放弃了。

 之后本人就去买了个ECS服务器最低配的那种,选择windows server 2008 R2

我只是想获取access_token而已

准备拿着公网ip在自己的电脑上远程连接桌面,结果提示:

我只是想获取access_token而已

 然后就去查安全组配置,发现该有的都有了

我只是想获取access_token而已

后面升级https需要加一条规则

我只是想获取access_token而已

 

用网页版的远程连接到服务器上查看是否开启了允许远程连接,是可以的

我只是想获取access_token而已

查看防火墙,关了的,讲道理应该能远程上才对。

我只是想获取access_token而已

 最后发现cmd-》ipconfig发现没有分配Ip地址,于是修改成静态内网Ip,终于远程上了。远程连接不上会有很多种原因,如果按照查询的方法仍然不行的话,建议提交阿里云工单,还是很靠谱的

 安装IIS,这一步没有任何坑

 安装证书

 发布代码,添加网站绑定

 我只是想获取access_token而已

添加HTTPS绑定,选择ssl证书

我只是想获取access_token而已

iis上浏览网站(https)的,发现地址栏是本地,并没有指到我的域名,上面的框里也没有办法修改添加主机名

iis7下面默认HTTPS绑定是无法指定主机头的,但我们可以通过手工修改IIS配置来实现主机头绑定

 打开C:\Windows\system32\inetsrv\config\applicationHost.config

 搜索https

         <bindings>
                    <binding protocol="https" bindingInformation="*:443" />
      xxxxxxx

      xxxxxx
        </bindings>

修改成:

 <binding protocol="https" bindingInformation="*:443:你的域名" />

域名解析中添加服务器ip的解析

 我只是想获取access_token而已

  一切完毕之后,准备开始调用access_token大展身手,结果又提示TLS版本为1.0,至少需要1.2及以上版本

 经查询发现,在IIS7中TLS1.2协议是默认关闭的。

所以我们需要对IIS做下设置,来开启TLS1.2协议。

可使用ssltools工具

我只是想获取access_token而已

 该升级的也升级了

终于,接口通了

我只是想获取access_token而已