Hoe configureer ik embedded Tomcat geïntegreerd met Spring om verzoeken te luisteren naar IP-adres, naast localhost?

Ik probeer het voorbeeld uit de lentegids uit te voeren: Een RESTful webservice bouwen .

Het werkt goed als ik localhost:8080/greeting open.

Maar het kan geen verbinding maken als ik in plaats daarvan 192.168.1.111:8080/greetingof 140.112.134.22:8080/greetingopen, ondanks dat beide IP’s daadwerkelijk worden gebruikt via mijn computer op internet.

Kan iemand me voorstellen hoe ik de embedded Tomcat in Spring kan configureren om HTTP-verzoeken op andere IP-adressen te accepteren, naast localhost (dat wil zeggen 127.0.0.1)?

Bedankt! 🙂


Antwoord 1, autoriteit 100%

Om aan te geven welk IP je Tomcat ook wilt laten binden, geloof ik dat je eenvoudig het volgende aan je application.properties kunt toevoegen:

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

<your_ip>vervangen door het IP-adres waarop je wilt luisteren. Deze en andere basiseigenschappen zijn te vinden in de Referentiegids Spring Boot, Bijlage A.

De andere manier om de embedded Tomcat te configureren, is door een aangepaste configureer in code te maken door de interface EmbeddedServletContainerCustomizerte implementeren. U kunt hier meer over lezen in de Spring Boot-referentiegids, sectie 55.5-55.8.


Antwoord 2, autoriteit 19%

Gewoon toevoegen aan bestand application.properties:

server.address=0.0.0.0


Antwoord 3

  1. Probeer dit toe te voegen aan java-parameters:
    -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false

  2. Voer de query uit vanuit curl:
    curl -vvv -X GET “http://192.168.1.111:8080/greeting”

Als de 1. niet helpt, verhindert hoogstwaarschijnlijk je firewall/proxy de verbinding. Curl zou daar een goede indicatie van moeten geven

Other episodes