win10 tomcat nginx upstream timed out 10060
win10 tomcat nginx upstream timed out 10060

win10 tomcat nginx upstream timed out 10060

localhost:8080可以正常访问项目,

     但是通过nginx访问80端口,只能访问磁盘上的静态文件,转发到tomcat的请求却始终timeout.

从ip这个角度出发。ping 一下localhost,打开cmd命令窗。

20161010101741704

是不是觉得哪里有点不对劲,以前ping,返回结果都是很长类似这样 来自xxx.xxx.xxx.xxx的恢复:时间<2ms。现在确实【::1】。

没错,问题就出现在这里,win10默认的是ipv6的解析,而ipv6默认解析到【::1】而不是127.0.0.1。所以我们nginx配置文件里面是连接不到本地的tomcat,一直处于timeout的状态,这只是一个猜测,下面我们来印证一下,看看是不是这么回事。

去注册表修改ip4的优先级。

打开运行窗口,输入【regedit】

在这个路径下面:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tcpip6\Parameters,新建【DWORD(32位)值(D)】,一定要新建这个哦,否则无效。

20161010102741030

然后窗口右侧会出现你新建的键值,如图

20161010102948955

选中【新值#1】F2修改键值名称为:DisabledComponents,如下图

20161010103233631

选中,右键,修改如下图。然后点击确定。

20161010103322889

 

重启电脑,我们再来ping一下localhost.

20161010103434352
现在看上去是不是顺眼很多了,没错我们已经将localhost默认解析到127.0.0.1这样我们在来通过nginx访问。

发表回复