Всем привет!
Есть ли у кого-нибудь предложения / советы по платформе приложений Digitalocean? (https://www.digitalocean.com/products/app-platform/).
Насколько я понимаю, это выполняется с Kubernetes в фоновом режиме. Поэтому мне было интересно, могу ли я использовать там shinyproxy
, и если да, то какая конфигурация будет наиболее подходящей.
Заранее спасибо!
Фелипе
Привет
Я не думаю, что у нас есть опыт работы с этой платформой. Но я думаю, что если Kubernetes API доступен для приложений, которые его запускают, на нем должна быть возможность использовать ShinyProxy.
Удалось ли вам тем временем попробовать это? Конечно, нам очень любопытно, удалось ли вам использовать ShinyProxy на этой платформе.
В итоге я переместил все на AWS, но у меня есть еще один тестовый проект, который я собираюсь опробовать. Я буду размещать обновления здесь. Спасибо за ваш ответ!
@fmmattioni, вы можете использовать свой Dockerfile и следовать этому шаблону: https://github.com/digitalocean/sample-dockerfile, это довольно просто.
Да, мне больше было интересно, какая из этих конфигов будет более подходящей:
Привет @fmmattioni
Если возможно, я всегда советую использовать наш официальный образ Docker . Этот образ имеет некоторые улучшения безопасности (например, запуск ShinyProxy под пользователем без полномочий root).
Хм, хороший момент! Я этого не знал! Спасибо за внимание!
Просто вопрос: я использовал старую версию shinyproxy, потому что последняя версия не работает с аутентификацией AWS Cognito. Могу ли я просто получить эту старую версию через тег - или эти улучшения безопасности существуют только в последней версии?
Привет @fmmattioni
Улучшения безопасности включены в любую версию.
Вы упомянули, что последняя версия ShinyProxy не работает с AWS Cognito. Нам не известно о каких-либо проблемах с OIDC в последней версии (2.4.3). Не могли бы вы открыть новый выпуск с более подробной информацией об этом? (например, какое поведение вы испытываете, какие зарегистрированные ошибки и т. д.). Мы действительно хотим, чтобы ShinyProxy без проблем работал с любым провайдером аутентификации, поэтому, если есть ошибка, мы действительно хотим ее решить.
Просто чтобы убедиться, что я понял, это то, что у меня должно быть в моем Dockerfile, верно?
FROM openanalytics/shinyproxy:latest
COPY application.yml /opt/shinyproxy/application.yml
WORKDIR /opt/shinyproxy/
CMD ["java", "-jar", "/opt/shinyproxy/shinyproxy.jar"]
Что касается проблемы с AWS Cognito, я помню, что в прошлый раз, когда я ее настраивал, в журналах упоминалось, что опция server.useForwardHeaders
все еще не работает в последней версии. Правда, не помню, была ли это 2.4.3 . Позвольте мне провести небольшой тест, и я дам вам знать.
Спасибо за ответы!
Да, это подходящий файл Docker для использования с ShinyProxy, хотя вы можете даже сделать его короче:
FROM openanalytics/shinyproxy:latest
COPY application.yml /etc/shinyproxy/application.yml
Если вы не укажете директивы WORKDIR
или CMD
, Docker возьмет их из базового образа. Наш базовый образ определяет /etc/shinyproxy
качестве рабочего каталога, поэтому вы можете поместить туда файл конфигурации.
По поводу свойства server.useForwardHeaders
. Вероятно, вы получили следующее предупреждающее сообщение:
WARNING: Using server.use-forward-headers will not work in this ShinyProxy release. See https://shinyproxy.io/documentation/security/#https-ssl--tls on how to change your configuration.
Итак, начиная с версии 2.4.0, свойство, которое настраивает заголовки пересылки, изменилось, но заголовки пересылки по-прежнему работают. Вам нужно всего лишь использовать следующую конфигурацию:
server:
forward-headers-strategy: native
вместо старой собственности.
Я заметил, что предупреждающее сообщение должно указывать на https://shinyproxy.io/documentation/security/#forward -headers. Я изменю это для следующего выпуска.
Это именно то предупреждение, которое я получил!
Извините, я даже не удосужился прочитать страницу более внимательно ... Я собираюсь протестировать ее еще раз - если у меня возникнут проблемы, я дам вам знать, ребята!
Спасибо!
Быстрое обновление: свойство server.forward-headers-strategy
действительно правильно работает с AWS Cognito! Большое спасибо за то, что указали мне правильное направление!
Привет, @LEDfan , настраивая мою новую конфигурацию, как это было предложено в образе докера openanalytics/shinyproxy
, я заметил, что всегда получаю следующую ошибку:
Это мой Dockerfile:
FROM openanalytics/shinyproxy:latest
COPY application.yml /etc/shinyproxy/application.yml
Однако, когда я меняю свой Dockerfile на:
FROM openjdk:8-jre
RUN mkdir -p /opt/shinyproxy/
RUN wget https://www.shinyproxy.io/downloads/shinyproxy-2.4.3.jar -O /opt/shinyproxy/shinyproxy.jar
COPY application.yml /opt/shinyproxy/application.yml
WORKDIR /opt/shinyproxy/
CMD ["java", "-jar", "/opt/shinyproxy/shinyproxy.jar"]
все работает как положено.
Что я должен изменить в application.yml
или изменить конкретную настройку в nginx
при использовании первого Dockerfile?
Дайте мне знать, если я должен открыть новый выпуск или предоставить более подробную информацию.
Привет @fmmattioni
Я забыл упомянуть, что, поскольку наш образ использует пользователя без полномочий root, по умолчанию у него нет доступа к сокету докера.
Вам нужно будет запустить образ докера ShinyProxy, используя следующую команду:
docker run -v /var/run/docker.sock:/var/run/docker.sock:ro --group-add $(getent group docker | cut -d: -f3) -p 8080:8080 openanalytics/shinyproxy
Часть $(getent group docker | cut -d: -f3)
определяет идентификатор группы докера. Параметр --group-add
гарантирует, что пользователь, работающий внутри контейнера докеров ShinyProxy, является частью этой группы (т. Е. Группы докеров), и в результате контейнер докеров ShinyProxy имеет доступ к сокету докеров.
Также убедитесь, что вы не установили атрибут proxy.docker.url
. Только если вы его не предоставите, ShinyProxy будет обращаться к сокету докера, а не к какому-либо HTTP-порту докера.
Удачи!
Милая! Большое спасибо за подробную информацию! Я могу подтвердить, что сейчас это работает.
Спасибо!