Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

612
Views
Windows Server 2012, Apache Tomcat, Spring MVC: conexión Websocket bloqueada para IP externa

Implementamos nuestra aplicación web Spring MVC en Windows Server 2012 . Nuestra aplicación web utiliza Spring Websockets para actualizaciones con stomp.js y sock.js.

Nuestra configuración websocket :

 @Configuration @EnableWebSocketMessageBroker public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer { @Override public void configureMessageBroker(MessageBrokerRegistry config) { config.enableSimpleBroker("/topic"); config.setApplicationDestinationPrefixes("/calcApp"); } @Override public void registerStompEndpoints(StompEndpointRegistry registry) { registry.addEndpoint("/add").setAllowedOrigins("*").withSockJS(); } }

Websocket funciona en localhost y los registros son los siguientes:

 Opening Web Socket... Web Socket Opened... >>> CONNECT accept-version:1.1,1.0 heart-beat:10000,10000 <<< CONNECTED version:1.1 heart-beat:0,0 user-name:admin connected to server undefined >>> SUBSCRIBE id:sub-0 destination:/topic/resident ...

Extrañamente, no funciona cuando ingreso una IP externa , en la misma máquina y navegador :

 Opening Web Socket... WebSocket connection to 'ws://192.168.5.50:8080/autopark/add/629/i148hb1c/websocket' failed: WebSocket is closed before the connection is established. Whoops! Lost connection to undefined

Pensamos que para el acceso externo , hay algún firewall y lo deshabilitamos por completo:

ingrese la descripción de la imagen aquí

Pero no resolvió nuestro problema.


¿Cómo podemos solucionar este problema?

about 4 years ago · Santiago Trujillo
2 answers
Answer question

0

No estoy muy seguro y no soy un experto en primavera.

pero parece que necesita llamar al servidor por un nombre de dominio sobre su dirección IP, lo cual es lógico.

Dado que una ip se usaría para más de un dominio, parece que el contexto necesita saber a qué contexto se debe llamar (incluso si hay uno) en el contexto de primavera.

en otras palabras, llamar al contexto por ip confundiría el contexto de primavera para seleccionar/invocar qué contexto/dominio, por lo que rechaza la conexión.

Inténtalo, combina 192.168.5.50 con un nombre de dominio, luego intenta llamar a la ruta usando el dominio (no ip). Espero que funcione de esta manera.

about 4 years ago · Santiago Trujillo Report

0

El primer paso para depurar esto sería verificar que su servidor de aplicaciones realmente esté escuchando en la interfaz externa.

Puede verificar a qué IP está vinculado su contenedor buscando entradas 8080 en la salida de netstat.

  • netstat -a -n -o | find "8080"

    • Si no ve una entrada vinculada a 0.0.0.0 o a la IP externa, sabemos que se trata de un problema de configuración con su servidor de aplicaciones.
    • Ejemplo para tomcat incrustado: ¿cómo configurar una dirección IP para el tomcat?
    • Ejemplo para Tomcat independiente: ¿cómo se configura Tomcat para vincularse a una sola dirección IP (localhost) en lugar de a todas las direcciones?

El siguiente paso debe ser verificar que una computadora externa pueda "ver" el puerto en la IP externa. Hay varias formas de hacer esto, pero bastará con usar el comando telnet.

  • telnet 192.168.5.50 8080
    • Si esto no funciona, entonces sabemos que hay algo que bloquea la comunicación entre las dos aplicaciones.

Si llegamos a este punto, es probable que haya un problema con la configuración de la aplicación en sí.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!