特别是微信支付开发的时候,它要求回调的是服务器地址,80端口的。
前提是你要有台服务器。
主要的东西就是 ssh 的 -R 参数,这里假设微信后台填的 webhook URL 是 http://wechat.abc.com,本地开发环境开的端口是 http://127.0.0.1:8080,整个转发流程是这个样子的
1.Nginx 把 wechat.abc.com 的请求转发到其它端口,比如 8888 端口。
server {
listen 80;
server_name wechat.abc.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header X-Real-IP $remote_addr;
}
}
2.在本地开一个到服务器的转发通道。
ssh user@abc.com -R 8888:127.0.0.1:8080
3.让本地开发环境监听 8080 端口(启动tomcat,用默认的8080端口即可)。
4.配置完成,这个时候在外网访问 http://wechat.abc.com,就能请求到本机,显示本机的tomcat内容了。