我正试图从春季指南中运行示例: Building a RESTful Web Service 。
如果我打开 localhost:8080 / greeting。
,它会很好用但如果我打开 192.168.1.111:8080/greeting 或 140.112.134.22:8080/greeting ,它就无法连接,尽管两个IP实际上都在使用通过我的电脑在互联网上。
有人可以建议我如何在Spring中配置嵌入式Tomcat以接受其他IP地址上的HTTP请求,除了localhost(即127.0.0.1)?
谢谢! :)
答案 0 :(得分:62)
为了指定您希望Tomcat绑定哪个IP,我相信您只需将以下内容添加到您的application.properties:
server.address=<your_ip>
server.port=<your_port>
用您希望其侦听的IP地址替换<your_ip>
。这个和其他基本属性可以在Spring Boot Reference Guide, Appendix A中找到。
配置嵌入式Tomcat的另一种方法是通过实现EmbeddedServletContainerCustomizer
接口在代码中创建自定义配置器。您可以在Spring Boot Reference Guide, Section 55.5-55.8。
答案 1 :(得分:1)
只需添加application.properties文件:
server.address=0.0.0.0
答案 2 :(得分:0)
尝试将其添加到java参数: -Djava.net.preferIPv4Stack = true -Djava.net.preferIPv6Addresses = false
从curl运行查询: curl -vvv -X GET“ http://192.168.1.111:8080/greeting”
如果1.无效,则很可能是防火墙/代理阻止了连接。卷毛应对此做出适当指示
答案 3 :(得分:-4)
我用这种方式解决了这个设置/ etc / hosts文件中的IP地址:
IP hostmane
像:
172.x.x.x my-hostname