除了localhost之外,如何配置与Spring集成的嵌入式Tomcat来监听对IP地址的请求?

时间:2014-05-30 03:04:38

标签: java spring tomcat spring-mvc spring-boot

我正试图从春季指南中运行示例: 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)?

谢谢! :)

4 个答案:

答案 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)

  1. 尝试将其添加到java参数: -Djava.net.preferIPv4Stack = true -Djava.net.preferIPv6Addresses = false

  2. 从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
相关问题