[PHP] REMOTE_ADDR call remote Plesk account geeft 127.0.0.1

Pagina: 1
Acties:

Onderwerpen


  • klaaz
  • Registratie: April 2000
  • Laatst online: 14-11 18:41

klaaz

it's me!

Topicstarter
Ik gebruik soms $_SERVER['REMOTE_ADDR'] om wat debug code te tonen wanneer ikzelf met de live site bezig ben:
code:
1
2
3
4
if($_SERVER['REMOTE_ADDR'] == "mijn.externe.ip.adres")
  {
    echo "Toon de debugcode";
  }


Het is voor mij iets wat ik even snel en tijdelijk kan toepassen wanneer ik een live site aan het testen ben.

Sinds enige tijd geeft de remote site (plesk server, niet in mijn netwerk) mij 127.0.0.1 terug, het lokale localhost adres, terwijl mijn externe adres (uiteraard) anders is. Ik loop er een beetje op vast en heb het gevoel iets simpels over het hoofd te zien. Zoeken op Google levert me geen oplossing op tot dusver.

Er is geen VPN verbinding met de Plesk server. Welke browser ik gebruik maakt geen verschil.

Iemand een idee?

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 01-12 15:14

Sebazzz

3dp

Misschien dat ze een soort reverse proxy hebben opgezet?

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


  • C0rnelis
  • Registratie: Juni 2010
  • Laatst online: 29-11 22:46
klaaz schreef op vrijdag 28 september 2012 @ 23:13:
[..]

gevoel iets simpels over het hoofd te zien. Zoeken op Google levert me geen oplossing op tot dusver.
Wat heb je Google gevoerd en heb je wel oorzaken gevonden? stackoverflow

Je zou kunnen kijken wat er in X-Forwarded-For of X-Real-IP staat, maar die worden dacht ik ingevuld door een proxy/load balancer en kunnen dus ook niets/onzin bevatten.

  • klaaz
  • Registratie: April 2000
  • Laatst online: 14-11 18:41

klaaz

it's me!

Topicstarter
Het is mijn eigen plesk server. En die stackoverflow topic had ik al gevonden, evenals vele anderen. Ik gebruik geen reverse proxy.

  • mbe81
  • Registratie: Juni 2008
  • Laatst online: 18:07
Hoi Klaaz,

In Plesk 11 zt een nieuwe feature waarbij nginx de webserver voor de buitenwereld is. o.a. PHP verzoeken worden dan doorgegeven aan Apache welke hierachter draait. Hierdoor krijg je het localhost-adres terug als IP-adres van de webserver.

  • klaaz
  • Registratie: April 2000
  • Laatst online: 14-11 18:41

klaaz

it's me!

Topicstarter
Aha... Dit is iets wat ik moet uitzoeken. Ik ben wel recentelijk overgestapt naar Plesk 11... Hoe kan ik dit probleem omzeilen? Als ik het zo lees geeft hij gewoon de localhost van de pleskserver zelf door aan apache? Wel vervelend in dit geval...

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

En die X-headers die C0rnelis noemt?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • mbe81
  • Registratie: Juni 2008
  • Laatst online: 18:07
Deze optie is uit te zetten:

http://kbase.licensecube....sable-nginx-in-plesk.html

The process for disabling Nginx in Plesk 11 and newer versions is quite simple. Please follow the step-by-step directions and you’ll quickly have Nginx disabled within your Plesk installation.

Login to your Plesk control panel as the administrator
Next go to "Tools & Services" and then onto "Services Management"
Under "Services Management" locate "Reverse Proxy Server (nginx)"
Once located, simply stop the "Reverse Proxy Server (nginx)" service.

Once the "Reverse Proxy Server (nginx)" is stopped, you’ll notice that Apache takes over all the web requests.

  • klaaz
  • Registratie: April 2000
  • Laatst online: 14-11 18:41

klaaz

it's me!

Topicstarter
En uitgezet ;-)

Later maar eens uitzoeken wat voor performance implicaties dit heeft.

Dank allen! en met name bergmvd voor de snelle oplossing ;-)

  • Cartman!
  • Registratie: April 2000
  • Niet online
Of je had gewoon even bekeken welke variabele je dan wel moest hebben:

PHP:
1
echo '<pre>';print_r($_SERVER);


Meteen je reverse proxy uitzetten is wel een paardenmiddel 8)7

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Cartman! schreef op zondag 30 september 2012 @ 22:58:
Of je had gewoon even bekeken welke variabele je dan wel moest hebben:

PHP:
1
echo '<pre>';print_r($_SERVER);


Meteen je reverse proxy uitzetten is wel een paardenmiddel 8)7
En als je dit weet, kun je via auto_prepend_file makkelijk $_SERVER['REMOTE_ADDR'] goedzetten zodat al je scripts weer werken.

  • Thralas
  • Registratie: December 2002
  • Laatst online: 02-12 20:09
C0rnelis schreef op vrijdag 28 september 2012 @ 23:31:
[...]
Je zou kunnen kijken wat er in X-Forwarded-For of X-Real-IP staat, maar die worden dacht ik ingevuld door een proxy/load balancer en kunnen dus ook niets/onzin bevatten.
(En de twee hierboven)

Daar mag je heel er mee uitkijken, alle variabelen in $_SERVER welke afkomstig zijn uit HTTP headers zijn in principe untrusted. Dan moet je dus zeker weten dat de Forwarded-for van je proxy afkomstig is en je backend niet alsnog op een andere manier te bereiken is.

Generally: Nee. Ontzettend onhandig idee, niet doen.

  • Cartman!
  • Registratie: April 2000
  • Niet online
In principe is geen enkele HTTP header betrouwbaar ;)

  • Solopher
  • Registratie: December 2002
  • Laatst online: 28-11 14:22
Wellicht heb je hier iets aan:
http://www.smerret.com/co.../nginx/nginx-with-php-fpm

Dan hoef je nginx niet uit te zetten. En dan vooral het stukje met:

code:
1
2
3
4
5
fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;


Overigens denk ik dat dit meer met Non-Windows Operating Systems te maken heeft, dan met programmeren :P.

[ Voor 59% gewijzigd door Solopher op 01-10-2012 21:54 ]

Pagina: 1