路由器设置外网访问
前言
程序开发者在没有服务器的情况下,可把自己的电脑当作服务器提供给外网访问。这里可以通过路由器设置来实现(或许还有其它的方式)。不过这种方式需要满足三个条件。
条件
- 具备路由器的操作权限(知道路由器的登录名和密码)
- 路由器具备虚拟服务器设置的功能
- 路由器拨号上网得到的 ip 是公网 ip
开始
登录路由器查看 ip
查看公网 ip 直接 百度 ip 即可得到。
这里如果路由器 ip 不等于公网 ip 那么得打电话给运营商设置了。我自己的就是这样。(客服帮助设置后。路由器重新设置拨号上网后即可)
配置虚拟服务器
我家的 tp-link 路由是这样的
没有就添加一条。常用服务器选 http 就好。
外部端口:根据自己的情况填写。
内部端口:电脑上启动的服务的端口
ip 地址:填写电脑的 IP 地址。可通过 cmd 执行 ipconfig 查询到。
协议类型:tcp/udp 所有
例如
我电脑上启动 idea 后有这样一个接口:
我电脑的 IP 地址为:
设置好后即可通过公网 ip 经行访问。
如果我们有域名。把域名解析到该地址,那么就可以通过域名访问了。
假象
到了上面一步我以为我已经成功了。直到弄微信支付时配置 js安全域名 。我才知道这是个假象。什么假象呢?在该路由器下的设备这样访问都没有问题。如果我切换网络环境比如用移动数据再访问该地址是无效的。
后来才知道如果想要实现真正意义上的外网访问,得向网络提供商申请开通 80/443 端口,期间似乎还需要备案。复杂程度不亚于去购买一个服务器购买一个域名并备案。