微信開發的本地調試隻支援80号端口,實驗了很多辦法,總結一下:
辦法一:
公司使用的是聯通ADSL, 在路由器上做完端口映射後發現電信/聯通封了80端口,是以這個辦法走不通了。
辦法二:
搜可以下,可以用ngrok,飛快的下載下傳,設定好了。把ngrok的URL填入微信設定時,微信提示這種網址存在安全風險,已經不支援了。
辦法三:
這個方式要求你有一台外網linux伺服器。微信要求這台機器的域名是已經通過ICP備案的,你可以用你開發域名的一個子域名指向這個伺服器。比如http://wechatdev.yourdomain.com
(1)首先:把該linux伺服器占用80号端口的服務關閉;
(2)打開伺服器的遠端轉發功能,執行以下指令:
sudo nano /etc/ssh/sshd_config
在/etc/ssh/sshd_config檔案末尾加入一句:
GatewayPorts yes
然後重新開機SSH:sudo service ssh restart
嘗試了阿裡雲和Azure 的Linux虛拟機,有以下要注意的:
阿裡雲
打開防火牆,允許通路80端口
Azure:
Azure比阿裡雲特别的地方是,root使用者預設是沒打開的。所有我們需要打開root 使用者
用SSH登入,你建立虛拟機的時候應該有一個使用者。
執行以下指令:
修改
PermitRootLogin without-password
為:
#PermitRootLogin without-password (注釋掉)
PermitRootLogin yes
然後重新開機SSH:
sudo service ssh restart
然後切換到root 使用者
sudo su
檢查root 使用者是否鎖定(LOCK表示鎖了)
[root@Linux ~]# grep root /etc/shadow
root:*LOCK*:14600::::::
給root 一個密碼,這樣就啟用root了
[root@Linux ~]# passwd
最後一步,設定端口轉發,在本機上運作(假設你使用MAC):