-
Notifications
You must be signed in to change notification settings - Fork 509
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Websocket connection through nginx reverse proxy is not working, probably due to Autobahn introduced in #426 #529
Comments
Seems like the same issue as in #508. Have you tried setting your websocket_external_port param to 80? |
Hi @epaezrubio, thanks for answering. If I understood correctly you mean to keep port 80 tunneled to 9091 in the docker and add this websocket_external_port param to 80 (as rosparam?). We need to tunnel the connection through a reverse proxy because we add a https layer and a hash validation in URL. I will try to test it in the next days. Our temporally solution was to fix the latest working version because we needed for production. |
I had the same problem and solved it with the websocket_external_port arg. The port 40000 in the host was mapped to 9090 in the container. Below is the full command I used:
|
Hey first of all, I encounter the same problem on ros: melodic. I tried to use that arg in my launchfile:
traeffic (another reverse proxy) also tell me HTTP error 400. When I look into my terminal where rosbridge run (inside a container) i recognized the following error message:
If you found a solution could you maybe give me a hint :). Thx for your help :) |
That helped me a lot, thanks @epaezrubio |
Hello, thank you very much for your answers! Our immediately solution for avoiding production stop was to use an old commit. Recently we updated our system and tested your solution @epaezrubio, it is working fine! |
Hi,
we have some trouble after updating rosbridge. We discovered that probably since Autobahn, nginx is not working as reverse proxy any longer. It may be related to a new configuration required in nginx (but after a long search we couldn't find any information on the internet) or to another incompatibility.
Cheers,
Pablo
Expected Behavior
Using nginx as reverse proxy to a rosbridge websocket should work normally, as it was working before introducing Autobahn.
Actual Behavior
Connecting to the socket through the nginx proxy returns always HTTP error 400. The connection is not working.
Steps to Reproduce the Problem
To test this you need to start a nginx proxy to manage rosbridge communication.
before Autobahn the message was
Can "Upgrade" only to "WebSocket".
with the following (or similar) nginx.conf (replacing the correct docker-container name or ip in the proxy_pass):
Specifications
ROS running in a kinetic ros container
echo $ROS_DISTRO
): kineticgrep DISTRIB_CODENAME /etc/lsb-release
): xenialroscat rosbridge_server package.xml | grep '<version>'
): 0.11.3python -c 'import twisted; print twisted.version'
): 16.0.0The text was updated successfully, but these errors were encountered: