请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

登录接口一直报404

单独访问两个tomcat是可以的,启动nginx以后也没有问题,直接访问nginx也是能被代理,轮询成功。但是测试接口的时候就是不行。如果跳过nginx直接访问ip+端口也

//img1.sycdn.imooc.com//szimg/5adc8e0b00013eff04320275.jpg

//img1.sycdn.imooc.com//szimg/5adc8e0b000115e007190095.jpg

//img1.sycdn.imooc.com//szimg/5adc8e0b0001f61615860648.jpg

是可以debug到。以下是nginx配置截图



我发现这样都访问不到

//img1.sycdn.imooc.com//szimg/5adc8f4f0001881f09790237.jpg


现在是任何路径都会报404,怀疑是tomcat配置的问题。更换了一个版本的tomcat也没用。

感觉像是idea部署的问题。。

正在回答

3回答

polo哦 2018-04-22 22:48:30

尝试下不做负载均衡,直接通过域名访问8080和9080端口能不能成功访问, 如果可以就是负载均衡的配置文件出错了,如果不可以那就是你的项目路径出问题了

0 回复 有任何疑惑可以回复我~
  • 提问者 Iran_1112 #1
    跳过nginx是可以直接访问的,但是其他的路径还是会报404
    回复 有任何疑惑可以回复我~ 2018-04-22 23:05:00
提问者 Iran_1112 2018-04-25 07:44:23

已经找到了,首先,在nginx配置文件里,location配置多了一个符号。这里不得不吐槽一下nginx的语法要求实在严格,因为不经常用,容易出问题,这个符号导致nginx仅对首页进行反向代理。
其次,在排查过程中,使用的tomcat是8.5,因此怀疑过是tomcat问题,进而手写了一个接口,requestmapping是/user/hello,直接返回hello字符串,却忘记了在web.xml里配置urlpattern.所以在跳过nginx时,直接访问,却发现访问不到。
最后,终于找到原因后,发现在addcookies时,会报错,再次检查,所有配置都是正确的后,发现tomcat8.5和8.0以下的版本对cookie的domain规则不同,8.5是必须要求以字母数字开头。所以去掉domain常量前的.即可

1 回复 有任何疑惑可以回复我~
  • Geely #1
    赞同学~~
    回复 有任何疑惑可以回复我~ 2018-04-30 22:26:54
Geely 2018-04-24 23:14:02

你检查一下你访问的这个路径存在么?能debug进来 是restlet进来的,但是restlet为啥还报错呢。。看截图里的响应。。感觉说不通呢,汗。然后看看tomcat的webapps/ROOT下是否正常,都是项目的文件。我们进一步排查一下。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号