起因是想在微信小程式中獲取access_token。 之前資源只有一個阿裡雲虛擬主機和一個功能變數名稱,於是用C#後端寫了GET請求的介面,準備調用自己功能變數名稱下的介面獲取access_token 使用微信的wx.request介面 發現報錯,提示該功能變數名稱不在伺服器合法功能變數名稱中 於是去微信小程式的開發設置中的伺服器 ...
起因是想在微信小程式中獲取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工具
該升級的也升級了
終於,介面通了