웹 소켓 (STOP over SockJs)과 백엔드에서 Spring을 사용하는 응용 프로그램이 있습니다. 응용 프로그램은 Tomcat의 localhost에서 잘 작동하지만 (웹 소켓) Heroku 또는 AWS Web Sockets에 배치하면 작동이 멈 춥니 다. Angular2WebSocket은 로컬 호스트에서 작동하지만 Heroku는 아님 (업데이트 됨)
let sockjs = new SockJS('/rest/add?jwt=' + this.authService.getToken(), {"devel":true,"debug":true}, {"transports":["websocket"]});
에서 내 웹 소켓 구성이 나는 또한
{"disabled_transports":["websocket"]}
으로 시도했지만 모두 실패.
<websocket:message-broker
application-destination-prefix="/app">
<websocket:stomp-endpoint path="/add">
<websocket:sockjs/>
</websocket:stomp-endpoint>
<websocket:simple-broker prefix="/topic, /queue" />
</websocket:message-broker>
URL Heroku가 내 응용 프로그램에 봄 web.xml을
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<context-param>
<param-name>spring.profiles.default</param-name>
<param-value>default</param-value>
</context-param>
<servlet>
<servlet-name>ws</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/spring/ws-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>ws</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<async-supported>true</async-supported>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/rest/*</url-pattern>
</filter-mapping>
</web-app>
웹 소켓은 그래서 당신은 웹 브라우저의 콘솔에서 직접 확인할 수 있습니다. Link 업데이트 로그를 참조하십시오,이 작품은 나를 걱정 없음 TransportHandler
CJyb2xlcyI6IkNVU1RPTUVSIn0.wFqNOduN-lD1-9GIRnG1X1aLJZTxtz9c6vmO7jmPPiE2017-04-06T16:23:32.439917+00:00 app[web.1]: 2017-04-06 16:2332 WARN DefaultSockJsService:239 - No TransportHandler for http://myapp-ws.herokuapp.com/rest/add/097/eyocvxic/websocket?jwt=eyJhbGciOiJI
로그가 맞지 않는 경우 vegur logs를 확인하십시오. vegur가 잘못 구성되어 websocket 연결이 끊어집니다. 그리고 websocket을 비활성화하지 마십시오. websocket을 활성화해야합니다. – user1516873
로그에서 H27 오류 https://devcenter.heroku.com/changelog-items/662를 볼 수 있지만 Heroku에서 변경해야 할 사항은 없습니다 (원인은 유료 계정 대신 무료 계정을 가지고있을 수 있습니다.)). 나 또한 Heroku 지원 팀과 함께 티켓을 만들었습니다. – Lukasz
계정을 유료로 업그레이드 했는데도 작동하지 않습니다. – Lukasz