如何将java web项目通过外网发布(有路由篇)

背景

前面已经分享了在没有路由器的情况下,如何实现外网访问web项目。今天来继续分享有路由器的情况下如何访问,其实这种有路由器的情况是最多的,一是安全性,二是不可能刚好一个固定ip就只服务到这一台服务器,一般都是对应好几台服务器。
刚好这次我项目上就遇到了多台服务器共用ip地址的情况,业主那边有台微信服务器也需要用固定ip,然后我这个项目也需要用,但是电信那边的网线只可能是一根,所以业主就申请购买了路由器。

条件分析

1、服务器上外网
有了路由器之后,需要对路由器做下配置,把运营商的网络信息填写到路由器设置页,重启路由器。服务器跟路由器接通,这时候服务器就不需要输入运营商的网络信息了,只需要将ip的获取方式改为动态获取。因为路由器已经帮忙设置了,然后路由器会分配一个内网ip给服务器,这时候服务器就可以上外网了。

2、路由器端口映射
没有路由器之前,服务器里面直接配置了电信运营商的固定ip地址,然后通过这个ip地址可以直接访问项目,现在有了路由器之后,服务器ip的获取方式变成动态了,并且是路由器分配的内网ip,外部不能对服务器进行访问了。
这时候就需要对路由器进行端口映射了,在路由器配置页有端口映射的说明。
例如:我现在服务器的ip地址为:192.168.0.104,那么我是可以通过地址
http://192.168.0.104:3434/szgtsw访问到本地项目。而现在输入以前的外部访问地址
http://218.4.165.118:8080/szgtsw就不能访问到项目了,因为没配置路由器映射。
路由器映射,相当于外部在访问218.4.165.118时,路由器会做一个转发,转发到内网ip:192.168.0.104上。所以只要路由器配置好了映射ip和端口号,外部通过地址
http://218.4.165.118:8080/szgtsw就可以进行访问了。

3、固定外网地址
现在我可以正常的通过http://218.4.165.118:8080/szgtsw访问项目了,但是过了一天后,发现又不能正常访问了。检查原因,是因为我原先内网ip地址由192.168.0.104变成了192.168.0.105,而路由器上映射的ip地址还是192.168.0.104。这时候我可以把路由器的映射地址改为105,但是下次再变呢?不可能一直改路由器吧。这个问题是因为服务器是动态获取ip地址的,需要先在路由器上把dhcp关闭,也就是不让路由器自动给服务器分配ip地址,然后我在服务器上手动配置ip、子网掩码、网关和DNS。
配置规则参考:https://www.192ly.com/qiu-zhu/r-dkys.html

路由器的配置可以参考以下文章:
https://www.192ly.com/router-settings/tp-link/new-tp-dkys.html
https://blog.csdn.net/u011019141/article/details/53709668

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值