abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 16:11 | Zajímavý článek

    Odborníci z Penn State University zkoumají způsob ukládání informací na lepicí pásku. Principiálně by podle nich bylo možné kombinací odlepení a zpětného přilepení dosáhnout uložení informace, kterou opětovným odlepením dokážou přečíst. Výhodou je, že způsob uložení i přečtení je čistě mechanický. Zde o tom referují ve volně dostupném článku. Zajímavé bude sledovat zda se jim v rámci výzkumu podaří prokázat použitelnost i v jiné než

    … více »
    karkar | Komentářů: 6
    včera 13:00 | Zajímavý projekt

    Na GitHubu byl publikován reprodukovatelný návod, jak rozchodit Adobe Lightroom CC na Linuxu a Wine. Návod byl vytvořený pomocí AI Claude Code.

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | Humor

    Pokud by někdo potřeboval Wayland kompozitor uvnitř počítačové hry Minecraft, aby mohl zobrazovat okna desktopových aplikací přímo v herním prostředí, může sáhnout po Waylandcraftu. Ukázka na YouTube.

    Ladislav Hagara | Komentářů: 1
    17.5. 23:55 | Zajímavý článek

    Uroš Popović v krátkém článku vysvětluje, co jsou emulátor terminálu, TTY a shell a jaké jsou mezi nimi rozdíly. Jde o první díl seriálu na jeho novém webu Linux Field Guide věnovaném nízkoúrovňové práci s linuxovými systémy.

    |🇵🇸 | Komentářů: 0
    16.5. 22:33 | Nová verze

    Byl vydán Debian 13.5, tj. pátá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.14, tj. čtrnáctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    15.5. 12:55 | Nová verze

    CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.

    jardaIT | Komentářů: 3
    15.5. 12:22 | Bezpečnostní upozornění

    Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].

    Ladislav Hagara | Komentářů: 2
    14.5. 17:22 | Komunita

    Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.

    Ladislav Hagara | Komentářů: 20
    14.5. 16:55 | Zajímavý software

    Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.

    Ladislav Hagara | Komentářů: 30
    14.5. 14:00 | Zajímavý projekt

    Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.

    Pinhead | Komentářů: 6
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1650 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Reverse http proxy s uživateli a api

    8.6.2022 12:27 alfonz
    Reverse http proxy s uživateli a api
    Přečteno: 658×
    Ahojte, už delší dobu hledám nějakou dobrou programovatelnou HTTP proxy s podporou uživatelů/ověření -> pro konktrétního uživatele přiřadit konkrétní upstream server / port nebo nějak vybrat.

    Snažím se hledat a nic moc necházím. Co jsem našel: * ngingx plus a njs (nebo nginx a njs) toto vypadá asi jako relativně proveditelné, ale vypadá to že chybí možnost nějak jednoduše ukládat k=v a cachovat a nebo je nutné mít ngingx plus. Njs zřejmě neumí připojení do DB. * envoy - vypadá to, že to není moc reálně proveditelné bez k8s a api si nejsem jistý, jak vlastně funguje (dokumentace se mi nedaří projít)

    V tuto chvíli mám web app v uwsgi s vlastní implemetací proxy i s uživateli/výběrem a pod, ale bych rád použil něco běžného, ale nedaří se mi to najít.

    Znáte něco co by to umělo? Popřípadě to může být i programovatelný balancer s podporu uživatelů, ale to je asi v tomto pohledu stejné.

    Odpovědi

    8.6.2022 12:58 MP
    Rozbalit Rozbalit vše Re: Reverse http proxy s uživateli a api
    Traefik, Envoy
    8.6.2022 14:13 Alfonz
    Rozbalit Rozbalit vše Re: Reverse http proxy s uživateli a api
    jj - díky o Envoy jsem psal, ale tam si vůbec nejsem jistý jestli je reálné to provozovat bez k8s a za druhé jak vlastně tam vypadá api a to reálné použití. Máte nějaký example, kde by se něco podobného řešilo? Vše co jsem viděl, vůbec neodpovídalo představovanému použití.

    očekával bych něco takové - pseudo code
    func choose_server(user_cookie){
        #takhle funkce někde zjistí co a jak (může to být z nějaké cache, json soubor a pod)
        server = get_user_server_from_db(user_cookie)
        return server
    }
    
    func handle_url_path_request(request){
        user_cookie = request.get_cookie()
        server = choose_server(user_cookie)
        set_upstream(server);
        #teď to nějak odbaví požadavek na konkrétní server
        #a vrátí response a něco udělá.. / vrátí uživateli..
    }
    
    
    Něco podobného je asi tohle https://github.com/nginx/njs-examples#choosing-upstream-in-stream-based-on-the-underlying-protocol-streamdetect_http

    Ale tam je upstream už definovaný a pouze se vybere (raději bych dynamický výběr zd DB)
    10.6.2022 09:23 mrtvyprtvi
    Rozbalit Rozbalit vše Re: Reverse http proxy s uživateli a api
    Zalezi jak mate udelano overeni uzivatelu, jake oidc schema chcete pouzit atd apod. Pokud napriklad vam jde pouze o validaci tokenu pak vam staci openresty(nginx a lua vm), pokud chcete oidc codeflow tak teoreticky by to mel zvladnout session modul s openresty (nemam odzkousene), pripadne nginx plus s njs a openresty (mam odzkousene s provozuji v k8s v ne uplne male instalaci). Tohle tema je pomerne siroke a je tam par uskali hlavne v prostredi k8s. Pokud mate zajem ozvete se mi na email gveldrane@gmail.com (poslu vam tel a muzem to probrat vic do detailu). Omlouvam se za zkratkovitost datlim to z mobilu
    10.6.2022 09:40 mrtvyprtvi
    Rozbalit Rozbalit vše Re: Reverse http proxy s uživateli a api
    Jinak vyhoda nginx plus je v tom ze umi interni distribuovanou keyval ktery navazete na mapy a hlavicky. Takze po zalogovani a ulozeni session cookie k keyval storu muzete udelat neco jako:

    keyval $cookie_session $myupstream zone=upstreams;

    a se vam promenna $myupstream naplni podle zaznamu v keyval storu, kterej plnite treba tim njs. Referencni uziti toho keyval storu je tady:

    https://github.com/nginxinc/nginx-openid-connect

    V prostredi k8s to znamena mit hs servicu a nad stavet nginx cluster, kterej zajisti synchronizaci key/val storu.

    V ce edici byste musel nejspis pouzit openresty dictionary plus nejakej externi keyval store (redis/memcached)
    14.6.2022 14:59 Alfonz
    Rozbalit Rozbalit vše Re: Reverse http proxy s uživateli a api
    Jo no právě, teď kvůli tomu máme uwsgi s vlastní proxy -> jelikož tam je spousta těchto funkcí dostupná. Myslel jsem, ale že tohle už nějaké dnešní proxy umí,ale vypadá to, že bez nginx plus to je vcelku problém.

    Jelikož ty Traefik a Envoy vůbec nevypadají, že by uměly trochu složitější chování a kvůli takovéto blbosti mít celý K8S se svojí složitostí není vhodné řešení.
    15.6.2022 09:14 Bobprasak
    Rozbalit Rozbalit vše Re: Reverse http proxy s uživateli a api
    Zkuste se podivat na ten openresty projekt, pokud nepouzivate pro authorizaci oidc auth codefllow, reseni by melo byt vcelku trivialni:

    https://openresty.org/en/

    nejaky example i v cestine je treba zde:

    https://youtu.be/faxn53s3l3U (39:53 zacina cast co by Vad mohla zajimat)

    To video ukazuje jak vzit nejakou informaci z tokenu s neco s ni udelat, pokid misto plneni hlsvicky nasetujete nejakou promennou s upstreamem melo by to fungovat tak jak potrebujete. Seznam upstreamu by se urcite dal nahrat pri staru nginxu klidne z db, pripadne tam vymyslet nejakou slozitejsi logiku. To video to ukazuje v prostredi k8s ale je to defacto jedno
    Max avatar 15.6.2022 13:16 Max | skóre: 73 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Reverse http proxy s uživateli a api
    To vypadá zajímavě, o tom projektu jsem nevěděl. Díky.
    Zdar Max
    Měl jsem sen ... :(
    15.6.2022 16:10 alfonz
    Rozbalit Rozbalit vše Re: Reverse http proxy s uživateli a api
    Ahoj,

    jo díky za video - pěkné info. Ano to openresty je opravdu asi jediné řešení, kde je to možné nějak normálně provést. Má to bohužel 2 trošku blbé věci a to je lua a to že nyní nginx tlačí ten njs opravdu hodně.

    No ještě to promyslím, ale zatím to vypadá na to nginx a njs, pokud se do toho opravdu vrhneme. Doufám, že se v mezi době do nginxu běžného dostane ta key value db..
    16.6.2022 09:40 Bobprasak
    Rozbalit Rozbalit vše Re: Reverse http proxy s uživateli a api
    Ja bych se toho lua scriptingu tak nebal. Jednak to neni zas tak slozity se naucit a pak ten lua modul ma spoustu vychytavek co tomu njs modulu zatim chybi. Jedna z nich je prave lua_shared_dictionary, coz je prave ona key/val store sdilena pres vsechny workery a operace nad ni maji zajistenou atomicitu (coz casto chcete). Njs ma lepsi "vyjadrovaci schopnosti", lip se v tom pisou treba subrequesty, ale prave v drzeni nejakych slozitejsich stavu v ramci jedne instance nginxu jste v v njs dost omezen.

    Co se tyce key/val storu v nginx plus, tak se da hezky vyuzit pro drzeni treba casti konfiguraci nebo informaci pres ruzne instance, muzete ho vyuzivat jak vramci njs tak i lui. Nejvetsi sila tkvi ve vyse zminovanem spojeni klic=cookie (ci cokoliv z requestu), value se dynamicky nastavi. Je ale nutne si dat bacha na jednu vec: propsani hodnot pri zapisu nebo mazani na ostatni nody chvili trva. Muze se stat, ze pokud napriklad ukladate session a prijde velmi rychle nasledujici pozadavek na jinou instanci v nginx clusteru, pak bude zahozen protoze tato instance tuto session jeste nema zreplikovanou. Tenhle problem se da resit napriklad nastavenim sticky sessions na konkretni uzly clusteru, takze vam pozadavky skonci treba od konretniho uzivatele vzdy na jednom konkretnim uzlu, podporou fe nebo zavedeni zpozdeni pro odpovedi konkretnich requestu, kdy davate cas clusteru aby se zesyncoval.

    Kazdopadne pokud se rozhodnete pro njs a zkusite ho nasadit pro Vas case, budu rad kdyz se podelite o sve dobre ci spatne zkusenosti :)
    17.6.2022 08:29 Alfonz
    Rozbalit Rozbalit vše Re: Reverse http proxy s uživateli a api
    Našel jsem tohle

    https://github.com/nginx/njs-examples#using-auth-request-http-async-var-auth-request

    To vypadá hodně jako to co bych asi chtěl, ale je tam zřejmě problém s přeposíláním dat...? Procházel jsem ty jiné proxy/load balancery a vypadá to, že to opravdu většina neumí (krom nginx plus/openresty). Moc to nechápu, jelikož jsem si myslel, že takové funkce právě uživatel může požadovat od proxy/ http gateway?

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.