Interne app wegsteken achter portal

Plaats reactie
butskristof
Elite Poster
Elite Poster
Berichten: 1457
Lid geworden op: 19 dec 2011, 18:42
Locatie: Heist-op-den-Berg
Uitgedeelde bedankjes: 483 keer
Bedankt: 98 keer
Contacteer:

Iedereen,

Ik zoek een oplossing voor het volgende:

Onlangs ontwikkelde ik een .NET Core webapplicatie, puur voor persoonlijk gebruik. Deze kan ik runnen in een Docker container op mijn NAS en benaderen op mijn intern netwerk. Tot daar alles top, werkt zoals het hoort.

Nu zou ik graag die applicatie ook buitenshuis willen gebruiken zonder telkens een VPN te moeten opzetten. Is er iets mogelijk ivm een portal waar ik de toegang tot deze app 'achter' steek?
In de meest basic configuratie dacht ik aan iets met nginx reverse proxy en basic HTTP auth, maar da's wel heel primitief.
Aangezien er in de toekomst waarschijnlijk nog wel een aantal van zo'n zelfgeschreven apps bijkomen, zou het leuk zijn om echt een portal te maken met authorisatie en dan een overzicht van de beschikbare applicaties.

Een andere mogelijkheid is Identity in de applicatie zelf integreren, maar ik ga praktisch gezien de enige gebruiker zijn. En naar de toekomst toe dan ook weer niet schaalbaar als er applicaties bijkomen.

Alvast bedankt om mee te denken!
Gebruikersavatar
devilkin
Elite Poster
Elite Poster
Berichten: 4884
Lid geworden op: 17 mei 2006, 20:10
Uitgedeelde bedankjes: 551 keer
Bedankt: 341 keer
Contacteer:

Heb je al eens gekeken naar evt aws ecs/fargate met een application load balancer voor?

Sent from my ONEPLUS A6003 using Tapatalk
Telenet All-Internet -- using CV8560E & OPNsense on PCEngines APU2E4
Proximus & Mobile Vikings -- Using OnePlus 8 Pro (ROM: Stock)
butskristof
Elite Poster
Elite Poster
Berichten: 1457
Lid geworden op: 19 dec 2011, 18:42
Locatie: Heist-op-den-Berg
Uitgedeelde bedankjes: 483 keer
Bedankt: 98 keer
Contacteer:

Ja, maar dat is in deze situatie niet ideaal vrees ik. Het is een toepassing die gebruik maakt van een hoop videobestanden die lokaal op mijn NAS staan en deze streamt (met wat extra functionaliteit). Het gaat om +- 1 TB aan ruwe data (nu), dus om die altijd extern te gaan hosten.. De videobestanden worden on-the-fly omgezet naar audio-only, dus elke keer de video (tussen de 1 en 4 gigabyte) eerst langs AWS of zo laten rondgaan is ook niet praktisch.

Daarmee dat ik ze graag thuis wil hosten, met de nodige beveiliging natuurlijk.

Ik had al begrepen dat ik een reverse proxy nodig heb. De vraag gaat dan vooral over een extra laag of toevoeging aan die proxy die auth kan afhandelen en het allemaal wat toonbaar kan maken met oog op uitbreiding.
Ideaal hangt mijn toepassing dus niet rechtstreeks aan het internet aangezien en geen Identity/Firebase auth is ingebouwd, maar gaat alles rond via de reverse proxy die de beveiliging afhandelt.
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16609
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 564 keer
Bedankt: 759 keer
Contacteer:

Apache2 met mod_proxy en mod_auth ?
Gebruikersavatar
bitbite
Premium Member
Premium Member
Berichten: 558
Lid geworden op: 18 dec 2012, 14:01
Uitgedeelde bedankjes: 39 keer
Bedankt: 42 keer

butskristof schreef:In de meest basic configuratie dacht ik aan iets met nginx reverse proxy en basic HTTP auth, maar da's wel heel primitief.
Da's niet fancy, maar wel erg solide. In mijn ervaring eigenlijk zero-miserie eens ingesteld. Je kan per pad in de url of (vind ik zelf het properste) per virtual host doorlussen naar een andere backend.
Gebruikersavatar
Sasuke
Elite Poster
Elite Poster
Berichten: 4854
Lid geworden op: 13 aug 2003, 20:25
Locatie: Vlaanderen
Uitgedeelde bedankjes: 153 keer
Bedankt: 332 keer
Contacteer:

* Awingu appliance eens testen (kan 60 dagen gratis)
* Watchguard Firewall met nodige licentie om de 'Access Portal' te gebruiken

Is je applicatie zelf webbased / browserbased of niet ? Indien wel ... als je een Synology of QNAP Nas hebt, die kunnen ook reverse proxy spelen (al dan niet in een docker container).
Who the fxxk is General Failure and why is he reading my hard disk ?
Afbeelding
butskristof
Elite Poster
Elite Poster
Berichten: 1457
Lid geworden op: 19 dec 2011, 18:42
Locatie: Heist-op-den-Berg
Uitgedeelde bedankjes: 483 keer
Bedankt: 98 keer
Contacteer:

meon schreef:Apache2 met mod_proxy en mod_auth ?
Geen ervaring mee. Is dat ongeveer hetzelfde als een reverse proxy via nginx?
bitbite schreef:Da's niet fancy, maar wel erg solide. In mijn ervaring eigenlijk zero-miserie eens ingesteld. Je kan per pad in de url of (vind ik zelf het properste) per virtual host doorlussen naar een andere backend.
Uiteindelijk wou ik het dan maar zo doen om het toch al voorlopig werkende te krijgen. Via docker-compose een nginx container toegevoegd die een reverse proxy en basic auth legt naar de app-container. Werkt in Chrome, maar in Safari klaagt hij over de authenticatie in combinatie met cross-origin requests. Normaal zitten er in de app helemaal een CORS, maar het zou ook iets met de certificaten kunnen zijn blijkbaar..
In ieder geval toch ook nog niet ideaal.
Sasuke schreef:* Awingu appliance eens testen (kan 60 dagen gratis)
* Watchguard Firewall met nodige licentie om de 'Access Portal' te gebruiken

Is je applicatie zelf webbased / browserbased of niet ? Indien wel ... als je een Synology of QNAP Nas hebt, die kunnen ook reverse proxy spelen (al dan niet in een docker container).
De voorgestelde toepassingen ga ik eens bekijken, bedankt.
Toepassing zelf is inderdaad web based. Synology heeft inderdaad die 'application portal', maar daar kan je geen auth toevoegen. Tenzij je de nginx configuratie van de Syno zelf gaat aanpassen, maar die reset ook bij elke update. Nginx in een docker container met port forward werkt ook dus da's dan makkelijker.

Uiteindelijk lijkt het me toch een heel gedoe. Ik dacht dat dit redelijk simpel op te lossen ging zijn. Misschien dan toch maar best authenticatie rechtstreeks inbouwen in de applicatie? Identity is uiteindelijk redelijk snel geïmplementeerd.

EDIT: dat de error met de certificaten zou te maken hebben lijkt me sterk. Over HTTP net dezelfde error:

Code: Selecteer alles

Blocked http://localhost:8080/dist/site.entry.js from asking for credentials because it is a cross-origin request
=> die krijg ik bij alle js-files. Nog niet nagekeken of het enkel voor Javascriptbestanden is of alles uit de dist-folder.
Plaats reactie

Terug naar “Development”