前提条件
- 一台服务器(云服务器或虚拟空间皆可,配置没要求,不需要运行服务)
- 一个域名(使用国内的需要备案)
使用方法
- 域名解析至服务器
- 在微信后台绑定域名
- 在本地通过 SSH 将远程端口映射到本地
1、微信接入需要80端口,查看是否被占用,把该linux服务器占用80号端口的服务关闭
netstat -anltp | grep 80
2、打开服务器的远程转发功能,执行以下命令:
vim /etc/ssh/sshd_config
在/etc/ssh/sshd_config文件末尾加入一句:
GatewayPorts yes
然后重启SSH:
centos6里面:
service ssh restart
centos7:
systemctl restart sshd
阿里云服务器 打开防火墙,并端口配置,允许访问80端口
最后,在本机上运行,设置端口转发,cmd 命令:
ssh -R <REMOTE_PORT>:127.0.0.1:<LOCAL_PORT> <USER>@<SERVER_IP>
可以看到就是在 SSH 登录服务器的命令上,增加了 -R 参数,在远程端口和本地端口之间建立隧道,服务器上该端口的所有请求都会转发到本地端口上,实现了在本地接受公网请求进行调试的需要。
指定ssh端口号可用:
ssh -p <指定ssh端口号> -R <REMOTE_PORT>:127.0.0.1:<LOCAL_PORT> <USER>@<SERVER_IP>
例如 : ssh -R 80:localhost:80 root@leasing.com (把发到leasing.com:80的流量都转发到本地的80端口,本地的端口可以变,如8080)
命令执行后,会要求输入root 在服务器的登陆密码