How to configure embedded Tomcat integrated with Spring to listen requests to IP address, besides localhost?

后端 未结 4 776
长情又很酷
长情又很酷 2020-11-27 15:57

I am trying to run the example from the spring guide : Building a RESTful Web Service .

It works well if I open localhost:8080/greeting.

But it cann

相关标签:
4条回答
  • 2020-11-27 16:09

    In order to specify a which IP you want Tomcat to bind too, I believe you can simply add the following to your application.properties:

    server.address=<your_ip>
    server.port=<your_port>
    

    Replacing <your_ip> with the IP address you want it to listen on. This, and other basic properties, can be found in the Spring Boot Reference Guide, Appendix A.

    The other way to configure the embedded Tomcat is to create a custom configurer in code by implementing the EmbeddedServletContainerCustomizer interface. You can read more about this in the Spring Boot Reference Guide, Section 55.5-55.8.

    0 讨论(0)
  • 2020-11-27 16:13

    I solved this setting the IP address in the /etc/hosts file in this way:

    IP  hostmane
    

    Like:

    172.x.x.x  my-hostname
    
    0 讨论(0)
  • 2020-11-27 16:15

    Simply add in application.properties file:

    server.address=0.0.0.0

    0 讨论(0)
  • 2020-11-27 16:29
    1. Try adding this to java parameters: -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false

    2. Run the query from curl: curl -vvv -X GET "http://192.168.1.111:8080/greeting"

    If the 1. doesn't help, then most likely your firewall / proxy prevent the connection. Curl should give proper indication of that

    0 讨论(0)
提交回复
热议问题