网站必须在互联网上能访问到,才能接收到支付宝的异步通知 .. 在本地电脑上调试的话,需要一种方法让本地开发环境上的网站能在互联网上被访问到 ..
可以使用 ssh 通道方法 .. 使用这个方法你需要一台能在互联网上被访问到的服务器 .. 服务器可以安装一个 nginx .. 然后配置一个代理服务 .. 把访问通过 ssh 转发到我们在本地电脑上运行的网站服务 ..
现在访问 w-store.ninghao.net ,访问到的是本地电脑上的服务 .. 这是因为我修改了自己这台电脑的 hosts 文件 .. 让这个主机名指定向了本地主机 .. ping 一下 w-store.ninghao.net .. 地址是 127.0.0.1 .. 它表示的就是本地主机 ..
再编辑一下这个 hosts 文件 .. macOS 系统上这个文件是在 /etc/hosts .. 注释掉这条记录 ..
在终端上面再 ping 一下 w-store.ninghao.net .. 现在返回的地址是我的一台服务器的 ip 地址 .. 这是因为我已经配置了域名的 dns 记录,让 w-store.ninghao.net 指向我的这台服务器 ..
再登录到我的这台服务器看一下 .. ssh root@42.120.40.68 .. 进来以后,再进入到 nginx 配置所在的目录 .. /etc/nginx/conf.d .. 这里我提前准备好了一个 nginx 代理服务配置 .. server_name 是 w-store.ninghao.net .. 访问这个主机名,指向的是一个代理服务 .. 地址是 127.0.0.1:7689 .. 意思就是把访问转发到我的这台服务器上的 7689 这个端口 ..
再退出服务器 ..
查看一下运行的 docker 容器 .. 我的服务的 web 服务 .. 是通过 8083 这个端口访问到的 ..
下面再去打个 ssh 通道 .. ssh -vnNT -R 服务器的端口是 7689 .. 本地服务是 localhost:8083 .. 用 root 登录 .. 服务器的地址是 42.120.40.68 ...
回到浏览器 ... 再访问一下 w-store.ninghao.net ... 现在我的在本地电脑上运行的网站就可以通过互联网被访问到了 ..