-
Notifications
You must be signed in to change notification settings - Fork 151
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
Why proxy's protocol and host is read from hostURL instead of application.yml #21
Comments
Forgive my ignorance, trying to connect Thanks for your help in advance. |
Hi @shrektan , Can you clarify your setup further? Are you running shinyproxy on windows and the docker inside virtualbox? Or both inside virtualbox? Which OS is running in virtualbox? Can you also confirm that the shiny app that fails to launch, works correctly when launched separately (via docker run) ? Note: have you considered using Docker for Windows? It uses hyper-v instead of virtualbox, and runs nicely on my Windows machine. |
@fmichielssen Thanks for your help. Docker for Windows is currently not available in my case, because it requires win10 or win server 2016. My setup is the docker running inside virtualbox (the docker-machine) while the shinyproxy running on windows 7. I can confirm that the shiny app works correctly, as I mentioned above, immediately after I click the app link, I can even reach the running container in my browser, using It's weird for me that shinyproxy is trying to connect the container through Do you have any ideas of what's going wrong? Thanks again. |
Hi @shrektan , Thank you for clarifying. You are right that the use of In the docs (https://www.shinyproxy.io/security) we propose a setup where an nginx reverse proxy is placed before shinyproxy and offloads all SSL.
For the second item, I believe virtualbox's "host-only" networking mode can be used, though I am not sure. I'm afraid I am not very familiar with virtualbox networking configuration. Regards, |
@fmichielssen Well, thanks for your explanation. I'll try to find a solution to contact the docker daemon using plain http, when using docker-machine. Hopefully, it exists. However, I still have questions.
First, about the statement above, I doubt the assumption is realistic... Secondly, it is not consistent with the protocol
Thanks again. |
Hi @shrektan , Indeed it is not consistent with the swarm mode, and we'll consider it as a bug. I think having the protocol as an optional setting (defaulting to the protocol used in the Regarding the swarm support in shinyproxy, this is still quite new and lacks some flexibility and documentation. In particular, it requires that shinyproxy can resolve all the nodes in the swarm (worker1 being one in your example), so that the proxy can be set up appropriately. In the future, we'd like to get rid of this requirement via ingress load balancing, but this appears to be unstable at the moment: moby/moby#25325 |
Hi @fmichielssen , I will vote for having the protocol as an optional setting 👍 . Again, I appreciate your kind help and will rebuild shinyproxy with the protocol changing to |
protocol as an optional setting will be included in the next release |
@tverbeke thanks. |
Release 1.0.0 has a new optional setting Does this work for your use case? |
@tverbeke I guess it will solve my issue but I can only verify it tomorrow. Anyway, I will close this issue for now. Thanks for your help. 🍺 |
@tverbeke I confirm that the new version works. Thanks. |
…t in another tab' (#21) from feature/26403 into develop
I'm currently trying to use
shinyproxy
on a windows machine, with docker-machine and virtualbox installed. However, everything goes fine except the java service can't connect the container. Here's the error message:I tried the ip address
192.168.99.101:20000
with protocolhttp
and it works (before the container gets deleted). Since the java service is trying to connecthttps
, it fails as expected.After some digging on the source code, I suspect the following code might be relevant, because
proxy
'sprotocol and host
is read fromhostURL
instead of theapplication.yml
(if my understanding is correct), in non-swarm mode.Any ideas of how to use the correct protocol?
here's part of my yaml file
Here's the related code:
shinyproxy/src/main/java/eu/openanalytics/services/DockerService.java
Line 336 in 24df356
UPDATE
using
swarm
still not work, the java services just can't connect to the container...The text was updated successfully, but these errors were encountered: