Van egy alkalmazás szerverem, amin fut az éles/teszt/ fejlesztő környezet és egy apache web szerverem. Szeretném publikálni az éles alkalmazást a neten, úgy hogy közben a másik két környezet ne legyen elérhető. Éles alkalmazás elérési címe: http://valami.hu/alkalmazas/p?z=111:valtozo:valtozo amennyiben a p?z=111 megváltoztatom 222-ra akkor a teszt rendszer érhető el.
Sajnos hosszas google-zás után sem sikerült olyan rewrite –ot összeállítani, ami csak azt a kérést szolgáltja ki, ahol URL-ben a /alkalmazas/p?z=111 vagy /alkalmazas/p?z=111:valtozo:valtozo szerepel a többi estben pedig átirányítja http://valami.hu/alkalmazas/p?z=111 címre.
- 2796 megtekintés
Hozzászólások
Valami szebb megoldáson nem gondolkoztál még?
Mondjuk test.valami.hu és basic authot elé?
a z= ... változóidat meg az apache beállítja ha tényleg muszáj.
--
Gábriel Ákos
- A hozzászóláshoz be kell jelentkezni
Cél pont az lenne, hogy az internet csak a valmai.hu címet adja meg a felhasználó és az esetleges URL átírással ne tudjon hozzáférni se a teszthez se pedig a fejlesztői környezethez. Sajnos az éles rendszer elé nem lehet, semmilyen authot beállítani, mivel bárki számára elérhetővé kell tenni.
- A hozzászóláshoz be kell jelentkezni
Arra gondolt, hogy csinalsz egy teszt.akarmi meg egy dev.akarmi oldalt a teszt es dev kornyezetnek es ezekre raksz pl apache auth-ot vagy access limitet vagy amit akarsz.
Sokkal tisztabb es kovethetobb hogy most eles, teszt vagy milyen kornyezetben is vagy, mint hogy valtozokent atadni ilyet url-ben, amit mellesleg siman barki atirhat es maris eleri a tesztet.
- A hozzászóláshoz be kell jelentkezni
Mt azt lentebb is írtam az alkalmazás van úgy megírva, hogy a z=XXX-ben kell megadni az alkalmazás számát. Nem én szeretném megadni. Én max azt szeretném, hogy ne forduljon olyan elő, hogy egy külső felhasználó a szám átírásával egy másik környezethez férjen hozzá.
- A hozzászóláshoz be kell jelentkezni
Én a helyedben elgondolkodnék azon, ha nem találnék kézenfekvő megoldást az általam kreált problémára:
a, kurva nagy zseni vagyok, évekkel a szakma elitje előtt haladva.
b, kurva szar ötlet, amit kitaláltam, anti-pattern, a gondolatot is agyon kell vágni egy lapáttal és aznap éjjel el is kell ásni valahol részegen, hogy másnap ne emlékezz rá, hogy hova temetted el.
Szerintem ez esetben a másodikról van szó.
"a többi estben pedig átirányítja http://valami.hu/alkalmazas/p?z=111 címre"
Főleg ez a legfaszább ötlet, amikor valaki jön, azt hiszi, hogy a tesztrendszeren dolgozik, aztán kiderül, hogy az éles volt.
És akkor következik be ez, nemzetbiztonsági okokból kitakarva: https://drive.google.com/file/d/0BxTJinjfcZ1uTGpmOWZGMks2Y2s/view
:)
- A hozzászóláshoz be kell jelentkezni
szerintem csak megcsuszott aprilis eggyel :D
Ilyet en meg eletemben nem lattam :D
- A hozzászóláshoz be kell jelentkezni
Értem a célzást.
Cél a következő lenne:
http://valami.hu/ --> http://localhost:666/alkalmazas/p?z=111
http://valami.hu/alkalmazas/p?z=111 --> http://localhost:666/alkalmazas/p?z=111
http://valami.hu/alkalmazas/p?z=111:valtozo1:valtozo2 --> http://localhost:666/alkalmazas/p?z=111:valtozo1:valtozo2
http://valami.hu/alkalmazas/p?z=222 --> http://localhost:666/alkalmazas/p?z=111
http://valami.hu/alkalmazas/p?z=222:valtozo1:valtozo2 --> http://localhost:666/alkalmazas/p?z=111 vagy http://valami.hu/alkalmazas/p?z=111:valtozo1:valtozo2
- A hozzászóláshoz be kell jelentkezni
Én már elengedtem. Szerintem engedd el te is :)
--
Gábriel Ákos
- A hozzászóláshoz be kell jelentkezni
Sajnos van az úgy, hogy készen kapsz valamit, aztán oldd meg, ahogy tudod. (Főnököt nem érdekli, fejlesztő meg a vállát vonogatja, kidobni meg nem lehet, ergo irány a gányolás)
Félve kérdezem: egy reverse proxy beállításával+esetleg némi szkripttel megtámogatva sem lehet megoldani?
- A hozzászóláshoz be kell jelentkezni
Amíg lemész kutyába addig le is küldenek.
--
Gábriel Ákos
- A hozzászóláshoz be kell jelentkezni
Vannak helyek és esetek, ahol/amikor nem lehet vagy nem érdemes visszapofázni. (Szakmai elvek vs család fenntartása, hogy csak egy példát említsek)
Talán te még voltál katona. Volt egy mondás, hogy a parancsot megbaszni nem érdemes, mert csak szaporodik. ;)
- A hozzászóláshoz be kell jelentkezni
"Vannak helyek és esetek, ahol/amikor nem lehet vagy nem érdemes visszapofázni."
Igen, vannak ilyen helyek. Ezeket a helyeket nevezzük a szakma pöcegödrének és akik ott dolgoznak, nem szakemberek, hanem senkiháziak, akik éveken át elvannak a langymeleg posványban mindenféle szakmai önérzettől mentesen... és ők azok, akik évekig békésen ülnek a nyakig érő szartengerben és csak akkor óbégatnak keservesen, hogy nyakig ér a szar, amikor az hullámzik.
- A hozzászóláshoz be kell jelentkezni
Túl nagy lett az arcod az elmúlt években...
- A hozzászóláshoz be kell jelentkezni
Ez nem az arcon múlik... dolgoztam ilyen helyen és dolgoztam ilyen emberekkel... sajnos ez a rögvalóság.
- A hozzászóláshoz be kell jelentkezni
...
Mi lenne, ha filozofálás helyett megpróbálnátok valóban segíteni a kérdezőnek?
Weben jártas üzemeltetőnek/programozónak szerintem pár perc gondolkodással összejönne.
(sacc/kb.: PHP szkript, a paramétert átírva továbbítja a kérést a valódi applikációnak/szervernek, megvárja a választ és visszaböfögi a kliensnek - fingom sincs, működik-e így vagy kell bele session management is, mert ha kell, akkor már valószínűleg nem jó)
- A hozzászóláshoz be kell jelentkezni
A fizetését ne vegyem fel a nevében? :)
- A hozzászóláshoz be kell jelentkezni
Bocs, azt hittem, a fórum arra való, hogy segítséget kérjen aki elakad valamiben...
- A hozzászóláshoz be kell jelentkezni
Akkor röviden. Erről az öt sorról megy az agonizálás?
RewriteCond %{QUERY_STRING} ^z=([0-9]+):(.*)$
RewriteRule ^/alkalmazas/p$ /alkalmazas/p?z=111:%2 [NC,L]
RewriteCond %{QUERY_STRING} ^z=([0-9]+)$
RewriteRule ^/alkalmazas/p$ /alkalmazas/p?z=111 [NC,L]
RewriteRule ^/$ /alkalmazas/p?z=111 [NC,L]
Teszt kritériumok:
http://valami.hu/ --> http://localhost:666/alkalmazas/p?z=111
applying pattern '^/alkalmazas/p$' to uri '/'
applying pattern '^/alkalmazas/p$' to uri '/'
applying pattern '^/$' to uri '/'
rewrite '/' -> '/alkalmazas/p?z=111'
PASSED
http://valami.hu/alkalmazas/p?z=111 --> http://localhost:666/alkalmazas/p?z=111
applying pattern '^/alkalmazas/p$' to uri '/alkalmazas/p'
RewriteCond: input='z=111' pattern='^z=([0-9]+):(.*)$' => not-matched
applying pattern '^/alkalmazas/p$' to uri '/alkalmazas/p'
RewriteCond: input='z=111' pattern='^z=([0-9]+)$' => matched
rewrite '/alkalmazas/p' -> '/alkalmazas/p?z=111'
PASSED
http://valami.hu/alkalmazas/p?z=111:valtozo1:valtozo2 --> http://localhost:666/alkalmazas/p?z=111:valtozo1:valtozo2
applying pattern '^/alkalmazas/p$' to uri '/alkalmazas/p'
RewriteCond: input='z=111:x:y:z' pattern='^z=([0-9]+):(.*)$' => matched
rewrite '/alkalmazas/p' -> '/alkalmazas/p?z=111:x:y:z'
PASSED
http://valami.hu/alkalmazas/p?z=222 --> http://localhost:666/alkalmazas/p?z=111
applying pattern '^/alkalmazas/p$' to uri '/alkalmazas/p'
RewriteCond: input='z=222' pattern='^z=([0-9]+):(.*)$' => not-matched
applying pattern '^/alkalmazas/p$' to uri '/alkalmazas/p'
RewriteCond: input='z=222' pattern='^z=([0-9]+)$' => matched
rewrite '/alkalmazas/p' -> '/alkalmazas/p?z=111'
PASSED
http://valami.hu/alkalmazas/p?z=222:valtozo1:valtozo2 --> http://localhost:666/alkalmazas/p?z=111 vagy http://valami.hu/alkalmazas/p?z=111:valtozo1:valtozo2
applying pattern '^/alkalmazas/p$' to uri '/alkalmazas/p'
RewriteCond: input='z=222:x:y:z' pattern='^z=([0-9]+):(.*)$' => matched
rewrite '/alkalmazas/p' -> '/alkalmazas/p?z=111:x:y:z'
PASSED
És most érezzem rosszul magam, hogy hozzájárultam valami fos rendszer további életéhez, aminek már évekkel ezelőtt véget ért az életciklusa, de mert a hülyeség akaraterővel párosul, azért lélegeztetőgépen tartják még pár éven át.
Ja, és ha kell proxy, akkor ez még kell, és az [NC,L] helyett ilyenkor [NC,P] kell:
ProxyPass / http://127.0.0.1:666/
ProxyPassReverse / http://127.0.0.1:666/
- A hozzászóláshoz be kell jelentkezni
ez a PASSED kézzel került oda vagy van valami rewrite rule ellenpőrző toolod? :)
--
Gábriel Ákos
- A hozzászóláshoz be kell jelentkezni
Lófasz van, nem tool... :D
Egy kezemen meg tudom számolni, hogy az utóbbi 10 évben hányszor használtam mod_rewrite modult.
- A hozzászóláshoz be kell jelentkezni
Hát akkor teljes tiszteletem mellett is a megoldás fenntartásokkal kezelendő. :)
--
Gábriel Ákos
- A hozzászóláshoz be kell jelentkezni
Teszteltem is egy élő Apache 2.4-en, mit akarsz még? :)
- A hozzászóláshoz be kell jelentkezni
Semmit :)
--
Gábriel Ákos
- A hozzászóláshoz be kell jelentkezni
Szerintem az agonizálás azon ment, hogy ne így csinálja.
Viszont eddig rajtad kívül azt hiszem, senki sem írta le, hogy ha mégis muszáj így, akkor hogy.
Én leírtam volna, ha tudom, de webszerverekkel majdhogynem nulla dolgom volt.
- A hozzászóláshoz be kell jelentkezni
"Szerintem az agonizálás azon ment, hogy ne így csinálja."
Az agonizálás azon ment, hogy egyáltalán ne csinálja, mert fos az egész és fos is marad, pluszban pedig ezzel behúz egy csomó olyan problémát, ami később nagyon fájdalmas lesz és kurva nehezen lehet akkor már korrigálni.
"Viszont eddig rajtad kívül azt hiszem, senki sem írta le, hogy ha mégis muszáj így, akkor hogy."
Biztos azért van, mert egyedül nekem nagy az arcom.
"Én leírtam volna, ha tudom, de webszerverekkel majdhogynem nulla dolgom volt."
Mondok egy meglepőt: nekem is majdhogynem nulla dolgom volt webszerverekkel, csak tudok doksit olvasni és általában értem is, ami oda le van írva... és ezzel manapság már könnyen a szakma csúcsára lehet emelkedni. :/
- A hozzászóláshoz be kell jelentkezni
:)
- A hozzászóláshoz be kell jelentkezni
És ha nem basztatlak, akkor te sem írod le. :D Egyébként kösz a kérdező nevében is...
Ha te se értesz hozzá, akkor nem is biztos, hogy jó amit írtál :P (azért van egy olyanom, hogy minimum egy nagyságrenddel többet foglalkoztál ilyesmivel még így is, mint én)
Az utolsó mondatoddal sajnos egyet kell értenem, ez már évek óta így van.
Bánatomra, nekem már nem megy az olvasás.
(fórum más téma, de doksit vagy akár logot böngészni már meghaladja a szemem működési tartományát)
- A hozzászóláshoz be kell jelentkezni
En husz eve a "man whatever" miatt vagyok a csucson, keresett mernok :D
- A hozzászóláshoz be kell jelentkezni
Sajnos már csak néhai főnököm mondott egyszer olyat, amikor épp a heti aktuális felmondásomat adtam be, hogy "... te vagy itt az egyik legjobb...". Hmmm...
mondtam neki, hogy lehet, hogy igaza van, de akkor az nagy gáz a cégre nézve.
Erre nem tudott mit mondani. :)
A prog.hu-n, hála a csodás pontrendszernek, php szakértő voltam, pedig sohasem értettem hozzá, még kezdő szinten sem. :)
- A hozzászóláshoz be kell jelentkezni
Köszönöm a segítséget. Bemásoltam amit írtál, de sajnos nem úgy működött, ahogy szerettünk volna. Viszont az iránymutatásod alapján az alábbi beállítással úgy néz ki tökéletesen szuperál:
RewriteRule ^/$ /alkalmazas/p?z=111 [R]
RewriteRule ^/alkalmazas$ /alkalmazas/p?z=111 [R]
RewriteRule ^/alkalmazas/$ /alkalmazas/p?z=111 [R]
RewriteCond %{QUERY_STRING} !^z=111(.*)$
RewriteRule ^/alkalmazas/p$ /alkalmazas/p?z=111 [R]
ProxyPass / http://127.0.0.1:666/
ProxyPassReverse / http://127.0.0.1:666/
- A hozzászóláshoz be kell jelentkezni
Amit írtam, az arra volt jó, amit írtál korábban példákat. Ha nem úgy működik a rendszer, ahogy írtad, akkor gondolatot nem tudok olvasni, hogy miképpen kellene még működnie... :)
- A hozzászóláshoz be kell jelentkezni
Nem azé, hogy izé, de kb. úgy született a unix, meg majd minden utólag hozzárakott alkatrésze, hogy "van itt ez a helyzet: oldd meg - rád van bízva, hogy szakmai önérzettel vagy attól mentesen - keddre".
- A hozzászóláshoz be kell jelentkezni
Egyrészt a lófaszt így született, másrészt kurva nagy különbség van abban, amikor tehetséges emberek gányolnak, mert néha bizony kell, mint amikor tehetségtelen emberek gányolnak, mert csak arra telik a szakmai sütnivalóból.
Van az a szint, ami alá nem megyünk le: ezt a szintet hívják szakmai színvonalnak, és ez a vonal mindenkinél máshol van meghúzva. Ha pedig ez a szint valakinél tartósan alacsony, akkor ne sértődjön meg, ha kimondják, hogy alacsony a szakmai színvonala.
- A hozzászóláshoz be kell jelentkezni
https://www.youtube.com/channel/UC9-y-6csu5WGm29I7JiwpnA
Érdemes mazsolázni benne. Semmiségek mellett olykor ismerős nevű fickók emlékeznek vissza arra, hogy milyen megoldások milyen motivációk mentén születtek.
Adatbázisok logikai és fizikai alapjai, frontendek és backendek, cpu-k és kernelek, végtelen a sor, amit egyszer valaki elcseszett és utána az érdemi javításig mindenki megalázó módon, alapként elfogadva jár körül, es ha nakabbegyíkokénleléptem is lesz a dolog vége: az is egy szakmai önbecsülésféle, hogy az ember azután mondja, hogy megtette, amit lehetett, és kitette az ÉLETVESZÉLY! táblát.
- A hozzászóláshoz be kell jelentkezni
Akkor ugye ez lép életbe: "amikor tehetséges emberek gányolnak, mert néha bizony kell, mint amikor tehetségtelen emberek gányolnak, mert csak arra telik"
Hidd el, téged a kutya nem fog megkérdezni évekkel később, hogy mi vezetett ehhez a gányoláshoz...
- A hozzászóláshoz be kell jelentkezni
Sajnos ez így van. :( Én szerencsére már látom az alagút végén a fényt, viszont amíg ki nem érek addig a vonat utasa vagyok... ;)
- A hozzászóláshoz be kell jelentkezni
Érdekes megvalósítása a branchnek. :)
- A hozzászóláshoz be kell jelentkezni
Sajnos ez van... :)
- A hozzászóláshoz be kell jelentkezni
... jobban megnézve: azért nem, mert az URL a kérdőjel előttig tart.
Utána már változók vannak.
https://stackoverflow.com/questions/17852557/use-rewritecond-based-on-e…
Az elfogadott választ nézd:
#set to 'live' or 'maintenance'
RewriteRule .* - [E=STATUS:maintenance]
#If the ENVIRONMENT variable is 'maintenance' then show a maintenance page
RewriteCond %{REQUEST_URI} !maintenance.html [NC]
RewriteCond %{ENV:STATUS} ^maintenance$
RewriteRule ^.*$ /maintenance.html [L]
hátha segít...
--
Gábriel Ákos
- A hozzászóláshoz be kell jelentkezni
Vagy a fejlesztőid limitáltan képzettek, ha nem tud teszt.valami.hu-ként működni, vagy a te képességeid felső határa van alacsonyan.
Engedd el a rewrite-ot. Nem erre való.
Fentebb írták, hogy subdomain és virtualhost. Az erre (is) való. ;)
---
"A megoldásra kell koncentrálni nem a problémára."
- A hozzászóláshoz be kell jelentkezni
Lehet mindkettő igaz. :)
Mint azt már gabrielakos írta engedjem el, amit én is szeretnék de sajnos nem lehet. :( Az okokat most nem nagyon taglalnám.
Lépjünk vissza egyet.
Van egy alkalmazás szerverem amit IP-lehet meghívni a következő képen http://IP:port/alkalamzas/p?z=típusa(éles,fejlesztői,teszt):változó:paraméter
A változó és paraméter darabszáma és tartalma az alkalmazás használata közben dinamikusan változik.
A cél, hogy csak az éles alkalmazás legyen kipublikálva a nagyközönség felé és a többi(fejlesztői,teszt) semmilyen formában ne tudják elérni.
- A hozzászóláshoz be kell jelentkezni
Ha magát az alkalmazást nem lehet módosítani, akkor adott pillanatban nem tudod megakadályozni, hogy valaki a végurl ismeretében ahhoz ne forduljon - a redirekt után pedig (bármi csinálja) ismert lesz a végurl.
Hacsak el nem dugod egy privát hálóba az egész szerveredet, amely privát hálóról a paraméterek alapján filterező proxyval/szkripttel adod vissza a kliensnek az eredményedet, HA az éppen engedélyezett típusra mutat a paraméter: aki ismeri az url-eket, az oda fog találni ahová akar vagy nem akar.
Az application layer nem véletlenül kapta a nevét.
- A hozzászóláshoz be kell jelentkezni
Magába az alkalmazásba nem lehet beletenni olyan korlátozást, hogy a fejlesztői/teszt rendszert csak valamilyen IP tartományból érkező kérésre szolgálja ki? (pl. localnet)
--
http://eVIR.hu
Elektronikus Vállalatirányítási Információs Rendszer
- A hozzászóláshoz be kell jelentkezni
Ha IP alapon mész, akkor nyilván subdomain kicsukva.
Viszont a portokkal játszatsz (éles:443;teszt:444;dev:445), és ismét a jól definiálható VirtualHost-nál tartunk,ahol autholhatod a tesztet, és IP korlátot is tehetsz rá.
Az egyetlen dolog, amit el tudok képzelni a rewrite ragaszkodás mellett, az az, hogy az alkalmazás minden linkje, és hivatkozása drótozva van a kódban, és nem kis paraméterecske, vagy változóscska.
Így ha rendesen akarnád csinálni, akkor a fejlesztőknek csillió helyen kéne átírniuk a bedrótozott hivatkozásokat.
Nyugtass meg, hogy nem ilyen rémálomról van szó... :)
---
"A megoldásra kell koncentrálni nem a problémára."
- A hozzászóláshoz be kell jelentkezni
Ha már a portokkal játszik, akkor használhatna mod_proxyt és akár mögé virtuálba is felrakhatja tesztszervert. Véges nagy számú megoldás lehetséges, köztük olyan életveszélyes is, mint a posztban.
- A hozzászóláshoz be kell jelentkezni
Hali,
Ha jól látom Oracle ApEx -rol beszélünk.
Az application builderben az éles rendszer kivételével az összes appnál állítsd be az "Application properties / Definition / Availability"
résznél a státuszt "Unavailable (Redirect to URL)" -re, a message-et pedig "f?p=111" -re.
Ekkor az fog történni, hogy ha a adott app url-jét próbálják browsolni, akkor a 111-es appra fog irányítódni.
Ha jól értettem ez az amit szeretnél.
Üdv,
PaZso
- A hozzászóláshoz be kell jelentkezni
Hát ezt sikerült szépen körülírnia a kérdezőnek, ha igazad van.
- A hozzászóláshoz be kell jelentkezni
ah, zseniális :)
--
Gábriel Ákos
- A hozzászóláshoz be kell jelentkezni
Igen az, bár eddig nem tudtam. Hozzám ez az információ nem jutott el. Esetleg lehet tőled ezzel kapcsolat privátban kérdezni?
- A hozzászóláshoz be kell jelentkezni
Persze. Ha tudok segítek, bár már 8 éve nem dolgozom ApEx-el.
- A hozzászóláshoz be kell jelentkezni