我只是想获取access_token而已
起因是想在微信小程序中获取access_token。
之前资源只有一个阿里云虚拟主机和一个域名,于是用C#后端写了GET请求的接口,准备调用自己域名下的接口获取access_token
使用微信的wx.request接口
wx.request({ url: "www.xxxxxx.com/home/gettoken", success:function(res){ console.log(res) } })
发现报错,提示该域名不在服务器合法域名中
于是去微信小程序的开发设置中的服务器域名配置
添加了request合法域名为 xxxxx.com;
仍然提示不在合法域名中,仔细一看,原来小程序要求配置的服务器域名必须是https的
行,那就去阿里云搞一个证书,登录阿里云管理控制台,列表选择安全(云盾)-》CA证书服务,购买证书
等几分钟证书就申请好了,点【下载】
本人的是云虚拟主机啊,只是服务器上的一个文件夹而已,根本没办法去配置证书,怎么办,然后去查资料,发现可以通过CDN加速或者上负载均衡来实现
如果你觉得上面两种方式能满足你的需求,请另行百度,总之我是放弃了。
之后本人就去买了个ECS服务器最低配的那种,选择windows server 2008 R2
准备拿着公网ip在自己的电脑上远程连接桌面,结果提示:
然后就去查安全组配置,发现该有的都有了
后面升级https需要加一条规则
用网页版的远程连接到服务器上查看是否开启了允许远程连接,是可以的
查看防火墙,关了的,讲道理应该能远程上才对。
最后发现cmd-》ipconfig发现没有分配Ip地址,于是修改成静态内网Ip,终于远程上了。远程连接不上会有很多种原因,如果按照查询的方法仍然不行的话,建议提交阿里云工单,还是很靠谱的。
安装IIS,这一步没有任何坑
安装证书
发布代码,添加网站绑定
添加HTTPS绑定,选择ssl证书
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大展身手,结果又提示TLS版本为1.0,至少需要1.2及以上版本
经查询发现,在IIS7中TLS1.2协议是默认关闭的。
所以我们需要对IIS做下设置,来开启TLS1.2协议。
可使用ssltools工具
该升级的也升级了
终于,接口通了