--
You received this message because you are subscribed to the Google Groups "Sandstorm Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sandstorm-de...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Hi,
I had a look at those docs and gave a try at running Zeppelin in Sandstorm. I am almost there, but I'm stuck with a web socket connection, so maybe you could help.
Here's what I've done so far:
- install the vagrant-spk kit
- created a sandstorm dev VM in virtual box
- install zeppelin application which is based on java Servlets
I can start the application with vagrant-spk dev and launch it by creating a grain. The problem I have is the HTML UI fails to load completely because a web socket connection cannot be established (this is what I see from the browser).
If I ssh to the vm and launch zeppelin from the command line, I can connect to port 8000, including the web socket, and it works like a charm.
Is there any trick for using web sockets with the Sandstorm HTTP bridge, or any way to hook into the container so I can troubleshoot what is happening on the app side ?
Thanks for your help.
Guillaume
Hi Asheesh,
I investigated a bit more and it appears the 403 message is generated by the application server (jetty) when the client try to establish the web socket connection. I then sniffed the network in and out the sandstorm bridge and realised it is tempering with the Sec-Websocket-Key header. You can see the http requests in the attached files. The funny thing is the client tries several times to establish the ws and generates new sec key value each time. On the other side of the sandstorm-bridge, there's always the same value.
I'm not very familiar with the web socket implementation in Jetty, but don't you think altering the WebSocket Key value along the way could cause troubles and lead to some sort of security breach?
Cheers,
Guillaume
Second thought,
the issue could also be related to the fact the Origin header is removed by the sandstorm-bridge.
Second thought,
the issue could also be related to the fact the Origin header is removed by the sandstorm-bridge.
Cheers.
Yes, I can confirm that.
I was able to replicate the issue outside of sandstorm by removing the Origin header.
Hi,
I've installed an nginx reverse proxy in front of Zeppelin which is adding an Origin header. This seems to fix the problem.
I'm now hitting another problem related to the IP stack. Java tries to resolve the local hostname and throws the exception java.net.UnknownHostException: sandbox
Thanks guys ! After removing the /etc/hosts from hidePath it is now working.
I can now start playing with Zeppelin in Sandstorm.
Hi,
I've hit another issue related to users when starting the spark interpreter. I don't have much time to look at this now but maybe next week.