I'm trying to develop an app using Django 1.1 on Webfaction. I'd like to get the IP address of the incoming request, but when I use request.META['REMOTE_ADDR'] it returns 127.0.0.1. There seems to be a number of different ways of getting the address, such as using HTTP_X_FORWARDED_FOR o开发者_运维问答r plugging in some middleware called SetRemoteAddrFromForwardedFor. Just wondering what the best approach was?
The remote proxy middleware was removed in Django 1.1.1 with a nod towards pointing out that trusting REMOTE_ADDR or HTTP_X_FORWARDED for isn't secure anyway (in case that also helps you decide what to do)
I use the middleware because this way I don't have to change the app's code.
If I want to migrate my app to other hosting servers, I only need to modify the middleware without affecting other parts.
Security is not an issue because on WebFaction you can trust what comes in from the front end server.
精彩评论