在Docker容器中运行的JHipster应用程序 - Websocket错误

时间:2016-11-16 10:45:31

标签: spring-boot jhipster spring-websocket

我遇到一个基于JHipster的小型应用程序的问题我试图在Docker容器内的服务器上运行。 问题出在Websocket连接上: VM1772:35 WebSocket connection to 'ws://example.com/websocket/tracker/011/oxjwhn1s/websocket?access_token=ey…_TUTlIQeihPamU9Cr4AELuIqgnxZlAExhpBzRGwTtSBsQtC1_uMmwttUYgMmvhdbZhMLCS2RoA' failed: Error during WebSocket handshake: Unexpected response code: 400 (我改变了实际的域名)

该应用程序在使用maven目标docker:build构建的Docker容器内运行。 只能通过域名访问我使用同样在Docker容器(https://github.com/jwilder/nginx-proxy)内运行的nginx反向代理,我认为在nginx配置中头设置转发是正确的:

proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto;

为了让它正常工作,我错过了什么?

1 个答案:

答案 0 :(得分:0)

我将继续执行下一步以找到问题:

  • 尝试将应用程序作为独立运行,以确保问题不在应用程序中。
  • 尝试在没有代理
  • 的情况下在docker中运行应用
  • 最后如果这两个步骤有效,那么尝试在代理后面运行应用程序,以确保您拥有代理的正确配置。

如果这最后一步是正确的,那么它需要是docker配置。为了给你提供更多选择,最好从你的日志中获得更多信息。