How to get-Anforderung die HTTP-Header mit Sockel.io?
Habe ich eine Express-app läuft hinter Nginx, also wenn ich versuche die IP des Nutzers, bekomme ich immer 127.0.0.1
statt die Reale, die von Nginx in der X-Real-IP
header. Wie bekomme ich diese header? Gibt es eine Möglichkeit, um es über die socket
Objekt?
Würde der code im Grunde so:
io.sockets.on( 'connection', function( socket ) {
var ip = /* ??? */;
/* do something with the IP…
… some stuff …
*/
});
Du musst angemeldet sein, um einen Kommentar abzugeben.
Um die IP, wenn Sie hinter NGINX oder ein anderer proxy:
oder für die Steckdose.IO
Aus: http://www.hacksparrow.com/node-js-get-ip-address.html
127.0.0.1
da dies die proxy-IP (z.B. Nginx) und die real-IP ist in derX-Real-IP
Feld.proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
zu Ihrem nginx-Konfigurationreq
(nochres
) Objekt, sondern einsocket
eins 🙁X-Forwarded-For
header. Es ist möglich, dass Sie verwenden könnte, dass zu umgehen IP-Blockierung (oder rate limiting) Maßnahmen. Zum Beispiel ist es üblich, dass, wenn der Benutzer legt dieX-Forwarded-For
etwas wiemagic
für dieX-Forwarded-For
dass Ihre app siehtmagic, <their actual IP>
So, durch Manipulation der Header, ein Benutzer kann "Ihre IP wechseln", ohne tatsächlich ändern Ihre IP.