同一个虚拟服务器上的JAVA项目,部署于tomcat上,示例如下:
内网访问地址是10.201.6.89:8080,可以访问、操作,可以通过上传方法上传图片至服务器
外网地址是65.189.156.201:8080,可以访问、操作,不可以通过上传方法上传图片至服务器
当使用外网地址上传时,页面上显示一直在上传,tomcat日志没有记录,浏览器调试工具不报错,请问是什么原因造成的,是因为服务器配置原因吗,还是因为服务器IP映射有问题?
是不是图片太大,换一个小图片试试 ,或者先ping一下,看通不通?
内网端口是8082 ,外网端口是8080 ,是什么意思? 你说的是统一服务器, 从你的tomcat 没有日志记录,那说明请求都没有进来
虚拟机对外网访问做了限制,你的所有访问都是属于读操作,但是上传就是写入了,没有权限的话,会卡住访问过程,不报错也进行不下去。
1.从网络工程师的角度揣测:
可能是内网穿透那个范畴的问题。8080端口的http通讯没有问题,当牵扯到上传数据时是否还是通过8080端口?
还是另外启用了其他端口进行通讯?如FTP服务需要开启端口21和20那样的握手过程。
1.解决方法:
服务器端将需要用到的端口开放,或者极端一些用DMZ那种方式把全部端口都开放。
这里的虚拟服务器是指的云服务器吗?检查云服务器配置,有关安全方面的配置,将端口放开试试。
2.从某十几年前只会写几句ASP的,某落伍程序员角度揣测:
是不是上传插件组件方面有问题,交互方式造成的。或者web服务器以及tomcat的相关参数配置有误。
再或者外网在开始上传数据时因为某些程序方面的原因,将地址识别错误了。
如:本想往外网地址65.189.156.201:8080上传数据,不知咋的就指向了内网地址10.201.6.89:8080。外网上就压根没有10.201.6.89这个IP地址,但它还是不断的问10.201.6.89你倒是给我个回信呀......于是丫的就卡住了......最后的错误反馈可能是连接超时之类的。建议在外网客户端上用sniffer嗅探一下它到底是跟谁去说上传图片这事儿了。此揣测基于你上面说的"tomcat日志没有记录",由此揣测可能客户端的上传请求都没有发给正确的服务器地址。
热切希望能蒙对,想下载个资料却没积分,看看能不能蒙5分~捂脸~毕竟在十几年前短暂的玩了下ASP从入门到放弃之后就再没碰web方面的编程。
也衷心祝愿LZ早日攻克问题。