[英]Calling request localhost always returns status code 200
这是我在这里的第一个问题。 我正在开发 Spring 引导应用程序。 今天我遇到了奇怪的问题。 例如,当我运行我的应用程序并调用 POST http://localhost:8080/report 时,如果出现问题,我应该得到 pdf 作为响应或某种类型的错误代码,但我得到的状态是 200 OK 而没有正文。 当我试图调用不存在的服务时,同样的事情发生了。 我在该服务实现的第一行设置了一个断点,但它从未到达那里。 我尝试重新安装 Java、IntelliJ、更新 windows 并禁用防火墙。 今天早上它工作得很好。 我不明白发生了什么,我在这里问你什么可能导致这种情况。 它发生在向密钥库添加证书后不久,但我已经这样做了很多次 ant 这从来没有发生过。 抱歉没有更具体,但我真的不知道在哪里具体,因为它突然停止工作。
由于我是 windows 用户,我运行 netstat -ano -p tcp |find "8080",检查端口是否空闲。 当应用程序运行时,我得到
TCP 0.0.0.0:8080 0.0.0.0:0 聆听 12832
当我停止应用程序时,我没有得到任何 output。 还尝试将端口更改为其他内容,但没有帮助。
使用sudo lsof -i:8080
检查端口 8080 上运行的内容。
您可能已经在那里有其他服务。
localhost
可以同时指向 IPv4 和 IPv6 接口,因此多个应用程序可以在技术上绑定到localhost
上的同一端口。
解决方案是更改您的 Spring 引导应用程序端口或终止冲突的应用程序/更改其端口。
Java 应用程序也可以使用 VM 选项中的-Djava.net.preferIPv4Stack=true
强制仅绑定到 IPv4 接口。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.