本地調試環境:Win10,Springboot2,JDK8
發佈環境:Linux,Tomcat8,JDK8
主要記錄給小程序返回數據接口項目發佈到Linux環境後使用真機出現網絡錯誤的原因及解決方法
as we all know,小程序只有頁面、樣式、配置、腳本邏輯這些東西,數據正常來說都是發起一個wx.request請求根據URL指向的地址獲取數據,還有一種方式,如我們之前的設計,將所有內容寫死在小程序中,但顯然缺少了很大的靈活性,所以還是決定創建一個項目寫幾個接口向小程序返回數據。
這是一個類似於指導書的小程序,非常非常的簡單,同事兩個人從新手到做完也只用了一星期,我主要負責服務器(因爲用的是我的)方面,是真的麻煩。。
我們在開發時可以選擇不進行域名等,就是我們在本地隨便開個項目,小程序發送請求到這個項目,然後返回一串隨便什麼數據,小程序都可以獲取到,但是真正上線時,顯然我們無法這麼做了
查看文檔可以發現,有四點極爲重要的,都需要依次解決
1、小程序只可以跟指定的域名進行網絡通信,可以通過進入你的小程序開發控制檯配置
這個應該放在最後,因爲你可能還沒準備好這一切。。因爲:
2、域名只支持https
3、域名不能使用 IP 地址或 localhost
4、域名必須經過 ICP 備案
那麼依次:
一:域名,這是必須條件,騰訊雲/阿里雲都有很低價的域名(第一年低價,後期續費很貴),每年的雙十一都會買個。
然後解析,將域名映射到服務器的ip地址,雲服務器商控制檯都可以一件解析
然後測試下,比如原來用我的服務器IPhttp://47.96.111.237:8080/可以訪問,然後使用域名http://damionew.top:8080/也可以訪問,這個就解決了
二:域名需支持https,這意味着你需要安裝SSL證書,就阿里雲來講,有0元購買SSL證書
進入SSL證書點右上方購買,點啊點,就點到一個免費的,點不到再點點
域名也要實名認證的,然後可以下載證書,右側有證書安裝方法,
地址https://help.aliyun.com/knowledge_detail/95505.html?spm=5176.2020520154.0.0.3e4756a7IaU0XY
我使用的是Tomcat安裝
將下載的證書複製到Linux服務器Tomcat/conf/下新建的cert文件夾下,然後在Server.xml中配置443端口
<Connector port="443" protocol="HTTP/1.1"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
keystoreFile="/最好使用絕對路徑/apache-tomcat-8.5.33/conf/cert/xxxxx.pfx"
keystoreType="PKCS12"
keystorePass="XXXX密碼"
clientAuth="false" sslProtocol="TLS" />
SSL證書安裝好後訪問卻提示訪問不到,這個時候別忘了開啓443端口。。
然後訪問https://damionew.top/,直接映射到8080端口,穩了
三:ICP備案--大概相當於營業許可證吧。。
就阿里雲而言,處理速度還是很快的,上午申請下午通過了初審,然後站在幕布上拍半身照上傳系統提交給網站公安就好。
然後這個域名就可以在小程序上用了。。每換一次都要備案一次了