起因是想在微信小程序中獲取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工具
該升級的也升級了
終於,接口通了