当java碰到防火墙
来源:互联网 发布:手机淘宝6.5.0旧版本 编辑:程序博客网 时间:2024/05/01 13:43
最近又碰到一个蛋疼的问题,项目中使用maven-jetty-plugin启动嵌入的jetty作为app server,设置了监听端口号为8080,启动也没有问题,可以看到成功提示:
使用netstat查看端口占用情况
我本机使用127.0.0.0::8080/xxxx 和 localhost:8080/xxxx 以及使用本机的ip地址10.101.211.37:8080/xxxx 访问都没有问题。
但是用局域网内同事的机器访问都打不开链接(但都能ping的通我的机器)。随后使用 xshell5 进行telnet测试,果然,我本地的机器可以连通,
可是同事的机器依旧不行。于是就想到了防火墙,将其整个关掉之后,别人就能访问了。但是这样做很不安全,常见的做法是在防火墙的入站规则中添加一条开放8080端口规则项(具体步骤略)。
当我认为问题就这样轻松解决的时候,同事告诉我说还是访问不到。网上又搜了搜防火墙的配置,发现配置没有问题。What the hell?
之后的一天,我突然想起来,自己在windows安装软件的时候,喜欢在它提示是否允许访问网络的时候,总是勾选private类型的网络,不允许在public公用,所以快速的看了一下网络配置.
果然,我所在的网络组是public的。问题一下子,就豁然开朗。
由于我们在项目中用的是maven的jetty插件,启动项目的时候,会单独调用java.exe去启动一个jvm(但是不知道我为什么我看到的是javaw.exe,先不管,以后搞明白)。
因此,就需要设置java自身的访问权限。
这里有两种解决方案:
1、第一种方式是最简单也是最省事儿的,找到并修改入站规则中所有和java平台相关的public域TCP类型的规则项,
右键属性,找到“通用”(我这里是General)tab页,将其Action选项设置为“Allow the connection“。
2、第二种就比较安全一点儿,同样需要设置第一种方式中的选项,允许连接。
但是,保存之前,还得修改一个地方:
只对外开放8080端口。
这样即使是,你把之前配置的关于8080端口的入站规则删除掉,你的web服务仍然可以在外部访问。
- 当java碰到防火墙
- 当少女碰到小偷
- 当VDI碰到NAS
- 当ECharts碰到TWaver
- 当开源库碰到错误怎么办?
- 指针操作时当*碰到++
- 当你碰到难题的时候
- 当网络女朋友碰到现实女朋友
- 当网络女友碰到现实女友
- 当网购碰到好彩
- 当两次NAT碰到FTP ALG
- 当爬虫碰到加密请求参数
- 当forEach碰到表格,怎样才能更美观
- Oracle字符集碰到JAVA
- 当SSL碰到证书不合法(比如证书过期...)
- Android - 当碰到Unparsed aapt error(s)错误时候
- axis调用xfire时,当rpc碰到literal
- 解决当sahi运行https时碰到的问题
- java死锁详解
- Java += 操作符实质
- launcher widget如何加载自定义视图
- ERROR ITMS-90096: Your binary is not optimized for iPhone 5 错误
- Http请求与响应基础讲解
- 当java碰到防火墙
- 经典算法-统计0~n之间的数字二进制的1的个数
- springMVC-mvc:view-controller path使用方法
- python 随机生成字符串
- POJ 2253 Frogger 每条路径最大边然后选择这些最大边的最小的那个边 题解。。。根本翻译不出来
- javascript 详解document.write()方法
- 在Ubuntu中安装openssl
- hdu1698 Just a Hook--区间更新
- sublime text安装插件