Halo semua!
Adakah yang punya saran/tips tentang platform aplikasi Digitalocean? (https://www.digitalocean.com/products/app-platform/).
Sejauh yang saya mengerti, ini dijalankan dengan Kubernetes di latar belakang. Oleh karena itu, saya bertanya-tanya apakah saya dapat menggunakan shinyproxy
sana, dan jika demikian, konfigurasi apa yang paling memadai.
Terima kasih sebelumnya!
Felipe
Hai
Saya tidak berpikir kami memiliki pengalaman dengan platform ini. Tapi, saya pikir jika Kubernetes API tersedia untuk aplikasi yang menjalankannya, seharusnya bisa menggunakan ShinyProxy di dalamnya.
Apakah Anda dapat mencoba ini sementara waktu? Tentu saja, kami sangat penasaran apakah Anda berhasil menggunakan ShinyProxy di platform ini.
Saya akhirnya memindahkan semuanya ke AWS - tetapi saya memiliki proyek pengujian lain yang akan saya coba. Saya akan memposting pembaruan di sini. Terima kasih atas balasannya!
@fmmattioni Anda dapat menggunakan Dockerfile Anda dan ikuti templat ini: https://github.com/digitalocean/sample-dockerfile cukup mudah.
Ya, saya lebih bertanya-tanya yang mana dari konfigurasi ini yang lebih tepat:
Hai @fmmattioni
Jika memungkinkan saya akan selalu menyarankan untuk menggunakan gambar Docker resmi kami . Gambar ini memiliki beberapa peningkatan keamanan (yaitu menjalankan ShinyProxy di bawah pengguna non-root).
Hmm, poin yang bagus! Aku tidak tahu itu! Terimakasih atas peringatannya!
Hanya sebuah pertanyaan: Saya telah menggunakan versi lama dari glossyproxy, karena rilis terbaru tidak bekerja dengan otentikasi AWS Cognito. Bisakah saya mengambil versi lama ini melalui tag di sana juga - atau apakah peningkatan keamanan ini hanya ada di versi terbaru?
Hai @fmmattioni
Peningkatan keamanan disertakan dalam versi apa pun.
Anda menyebutkan bahwa versi terbaru ShinyProxy tidak berfungsi dengan AWS Cognito. Kami tidak mengetahui adanya masalah dengan OIDC di versi terbaru (2.4.3). Bisakah Anda membuka edisi baru dengan detail lebih lanjut tentang ini? (misalnya perilaku apa yang Anda alami, kesalahan apa pun yang dicatat, dll.). Kami benar-benar ingin ShinyProxy bekerja dengan lancar dengan penyedia Auth mana pun, jadi jika ada bug, kami benar-benar ingin menyelesaikannya.
Hanya untuk memastikan saya mendapatkannya, ini yang harus saya miliki di Dockerfile saya, benar?
FROM openanalytics/shinyproxy:latest
COPY application.yml /opt/shinyproxy/application.yml
WORKDIR /opt/shinyproxy/
CMD ["java", "-jar", "/opt/shinyproxy/shinyproxy.jar"]
Mengenai masalah dengan AWS Cognito, saya ingat bahwa terakhir kali saya menyiapkannya, log menyebutkan bahwa opsi server.useForwardHeaders
masih tidak berfungsi di versi terbaru. Saya tidak ingat apakah ini 2.4.3 . Biarkan saya menjalankan tes cepat, dan saya akan memberi tahu Anda.
Terima kasih atas balasannya!
Ya itu file Docker yang tepat untuk digunakan dengan ShinyProxy, meskipun Anda bahkan dapat membuatnya lebih pendek:
FROM openanalytics/shinyproxy:latest
COPY application.yml /etc/shinyproxy/application.yml
Jika Anda tidak menentukan direktif WORKDIR
atau CMD
, Docker akan mengambilnya dari gambar dasar. Gambar dasar kami menetapkan /etc/shinyproxy
sebagai direktori kerja, sehingga Anda dapat menempatkan file konfigurasi di sana.
Mengenai properti server.useForwardHeaders
. Anda mungkin mendapatkan pesan peringatan berikut:
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.
Jadi mulai dari 2.4.0, properti yang mengonfigurasi header penerusan telah berubah, tetapi header penerusan masih berfungsi. Anda hanya perlu menggunakan konfigurasi berikut:
server:
forward-headers-strategy: native
bukannya properti lama.
Saya perhatikan pesan peringatan seharusnya benar-benar mengarah ke https://shinyproxy.io/documentation/security/#forward -headers . Saya akan mengubahnya untuk rilis berikutnya.
Itulah peringatan yang saya dapatkan!
Maaf, saya bahkan tidak repot-repot membaca halaman lebih hati-hati... Saya akan mengujinya lagi - jika saya memiliki masalah, saya akan memberi tahu kalian!
Terima kasih!
Pembaruan cepat: properti server.forward-headers-strategy
memang bekerja dengan baik dengan AWS Cognito! Terima kasih banyak telah mengarahkan saya ke arah yang benar!
Hai @LEDfan , saat mengatur konfigurasi baru saya seperti yang disarankan dengan gambar buruh pelabuhan openanalytics/shinyproxy
, saya perhatikan bahwa saya selalu mendapatkan kesalahan berikut:
Ini adalah file Docker saya:
FROM openanalytics/shinyproxy:latest
COPY application.yml /etc/shinyproxy/application.yml
Namun, ketika saya mengubah Dockerfile saya menjadi:
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"]
semuanya berjalan seperti yang diharapkan.
Apakah ada yang harus saya ubah di application.yml
atau mengubah pengaturan tertentu di nginx
saat menggunakan Dockerfile pertama?
Beri tahu saya jika saya harus membuka edisi baru atau memberikan detail lebih lanjut.
Hai @fmmattioni
Saya lupa menyebutkan bahwa, karena gambar kami menggunakan pengguna non-root, ia tidak memiliki akses ke soket buruh pelabuhan secara default.
Anda harus menjalankan gambar buruh pelabuhan ShinyProxy menggunakan perintah berikut:
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
Bagian $(getent group docker | cut -d: -f3)
menentukan group-id dari docker. Parameter --group-add
memastikan bahwa pengguna yang berjalan di dalam wadah buruh pelabuhan ShinyProxy adalah bagian dari grup itu (yaitu kelompok buruh pelabuhan) dan sebagai hasilnya wadah buruh pelabuhan ShinyProxy memiliki akses ke soket buruh pelabuhan.
Pastikan juga Anda tidak menyetel atribut proxy.docker.url
. Hanya jika Anda tidak menyediakannya, ShinyProxy akan mengakses soket buruh pelabuhan dan bukan port HTTP buruh pelabuhan.
Semoga beruntung!
Manis! Terima kasih banyak atas info detailnya! Saya dapat mengonfirmasi bahwa ini berfungsi sekarang.
Terima kasih!