微信開發的本地調試只支持80號端口,實驗了不少辦法,總結一下:linux
辦法一: 安全
公司使用的是聯通ADSL, 在路由器上作完端口映射後發現電信/聯通封了80端口,因此這個辦法走不通了。服務器
辦法二:微信
搜能夠下,能夠用ngrok,飛快的下載,設置好了。把ngrok的URL填入微信設置時,微信提示這種網址存在安全風險,已經不支持了。dom
辦法三:ssh
這個方式要求你有一臺外網linux服務器。微信要求這臺機器的域名是已經經過ICP備案的,你能夠用你開發域名的一個子域名指向這個服務器。好比http://wechatdev.yourdomain.com阿里雲
(1)首先:把該linux服務器佔用80號端口的服務關閉;spa
(2)打開服務器的遠程轉發功能,執行如下命令:調試
sudo nano /etc/ssh/sshd_configrest
在/etc/ssh/sshd_config文件末尾加入一句:
GatewayPorts yes
而後重啓SSH:sudo service ssh restart
嘗試了阿里雲和Azure 的Linux虛擬機,有如下要注意的:
阿里雲
打開防火牆,容許訪問80端口
Azure:
打開防火牆,容許訪問80端口
Azure比阿里雲特別的地方是,root用戶默認是沒打開的。全部咱們須要打開root 用戶
sudo nano /etc/ssh/sshd_config
修改
PermitRootLogin without-password
爲:
#PermitRootLogin without-password (註釋掉)
PermitRootLogin yes
sudo service ssh restart
sudo su
[root@Linux ~]# grep root /etc/shadow
root:*LOCK*:14600::::::
[root@Linux ~]# passwd
最後一步,設置端口轉發,在本機上運行(假設你使用MAC):
ssh -R 80:localhost:9001 root@wechatdev.yourdomain.com (這句話的意思是,把發到wechatdev.yourdomain.com:80的流量都轉發到本地的9001端口。