Nedostávám skutečnou IP adresu
- kejlicz
- Člen | 201
Dobrý den.
Můj dotaz možná nesouvisí s Nette, nevím.
Vyvíjel jsem aplikaci u sebe na hostingu a getRemoteAdress() normálně fungovalo a vracelo IP připojeného uživatele. Teď jsem projekt přesunul ke klientovi. Má stejný hosting, jen vyšší variantu a doménu má někde registrovanou svoji, takže jsem mu jen sdělil NSSET a on to nastavil. Aplikace na nové doméně normálně běhá, jenom getRemoteAdress() mi vrací stejnou IP adresu, ať se připojím odkudkoli. (je to 10.4.0.10, takže to bude asi nějaká na páteři).
Nevíte, čím by to mohlo být způsobeno? Jestli nějaká proxy?
$_SERVER[‚REMOTE_ADDR‘] vrací taky 10.4.0.10, $_SERVER[‚HTTP_X_FORWARDED_FOR‘] vrací správnou IP.
Jde mi o to, zda lze toto řešit přímo v Nette, nebo jestli když se spolehnu na hodnotu $_SERVER[‚HTTP_X_FORWARDED_FOR‘], nemůže mi to přinést v budoucnu nějaký problémy.
Taky mi tím pádem nejde zapnout vývojový režim vázaný na IP, což by se mi teď při testování hodilo.
Díky moc.
- Patrik Votoček
- Člen | 2221
V Nette to jde ale musíš mu říct adresa 10.4.0.10 je proxy. Viz: https://api.nette.org/…ory.php.html#…
tj do configu přidat:
nette:
http:
proxy:
- 10.4.0.10
- kejlicz
- Člen | 201
Tak jsem ještě zjistil, že getRemoteAddress() funguje, ale stále nefunguje vývojový režim na základě zadané IP.
$configurator->setDebugMode('moje_ip');
Zatím jsem to obešel podmínkou v bootstrapu.php
if($_SERVER['HTTP_X_FORWARDED_FOR'] == "moje_ip")
{
$configurator->setDebugMode(true); // enable for your remote IP
}
Dělám něco špatně nebo nastavení vývojového režimu nebere v potaz nastavení proxy v configu?
- Filip Procházka
- Moderator | 4668
@kejlicz to se dá považovat za bug, Nette ti přes proxy neumí zapnout debug mód na základě IP. Založíš issue prosím?
- Majkl578
- Moderator | 1364
kejlicz napsal(a):
Zkusím pohledat, co kde se to dělá a jak.
nette/bootstrap nebo nette/http nebo nette/tracy, záleží, kde přesně je problém.