微信小程序需要https才能訪問,如何在我們沒有服務器的情況下,直接從小程序訪問后台接口呢?這里我們使用內網穿透,具體流程如下:
1 注冊飛鴿
打開“飛鴿”內網穿透官網,注冊登錄。
https://www.fgnwct.com/
然后點擊【開通隧道】
在頁面中依次選擇http-自定義域名-本地ip端口443
這里自定義域名填寫阿里雲域名中的一個cname別名,如 bieming.xxx.com
在【隧道管理】中點 【+】號,記錄下方框中的地址【free.vipnps.vip】
詳細步驟可以查看:https://www.yuque.com/fgnwct/help/about
2 設置域名CNAME,並申請SSL證書
打開阿里雲,選擇【域名】,點擊【添加記錄】
選擇cname,設置自己的主機記錄,記錄值填寫剛剛提到方框內容【free.vipnps.vip】
隨后在【域名】申請一個免費證書
申請成功后綁定剛剛的域名,會添加一個txt記錄,然后點擊【下載】,這里我們選擇NGINX
3 NGINX配置
官網下載NGINX,打開conf文件夾,建立一個cert目錄,把證書解壓進去。
復制以下內容至nginx.conf,並根據注釋修改。
主要關注【server_name、ssl_certificate、ssl_certificate_key、proxy_pass】
# 以下屬性中以ssl開頭的屬性代表與證書配置有關,其他屬性請根據自己的需要進行配置。
server {
listen 443 ssl; #SSL協議訪問端口號為443。此處如未添加ssl,可能會造成Nginx無法啟動。
server_name localhost; #將localhost修改為您證書綁定的域名,例如:www.example.com。
ssl_certificate cert/4327388_domain.pem; #將domain name.pem替換成您證書的文件名。
ssl_certificate_key cert/4327388_domain.key; #將domain name.key替換成您證書的**文件名。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用該協議進行配置。
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:9099; #這里是本地后台訪問地址
}
}
配置完成后,啟動NGINX,打開127.0.0.1:80,啟動成功!
4 啟動飛鴿,進行內網穿透
進入官網https://www.fgnwct.com/,下載客戶端
解壓,並在當前路徑打開命令行窗口,輸入【隧道管理】中的啟動命令
至此,已經全部配置完畢,可以用https方式訪問自定義的域名。