Graham Dumpleton
grahamd at dscpl.com.au
Sat Jul 8 22:48:57 EDT 2006
On 09/07/2006, at 12:38 PM, Graham Dumpleton wrote: > > On 09/07/2006, at 12:13 PM, David Harvey wrote: > >> I'm running mod_python 3.2.8 on Mac OS 10.4.6, python 2.4.3, >> apache 2.2.2, on my desktop machine. >> >> I've got apache set up to load this script: >> >> ========================= begin >> >> from mod_python import apache >> >> def handler(request): >> request.write(request.connection.remote_ip) >> return apache.OK >> >> ========================= end >> >> When I browse to "http://127.0.0.1/", the script prints out >> "127.0.0.1" as expected. >> >> If I connect from a local network, e.g. to "http://192.168.0.6/" >> it prints out "192.168.0.4" (the address of the other machine) as >> expected. >> >> But when I browse to "http://localhost/" from this machine, it >> prints "::1". >> >> What does "::1" mean? Why isn't it giving me an IP address? >> Shouldn't I be getting "127.0.0.1" as above? How can I guarantee >> to get an IP address? > > This field is populated by apr_sockaddr_ip_get() in Apache Runtime > library. The field > can be populated with either IPv4 or IPv6 addresses. On a Mac, when > you use the > string "localhost" it is as far as I know actually using an IPv6 > connection to Apache and > "::1" is what the Mac is using to identify that IPv6 client. > > What do you want the remote IP address for? Depending on what you > want to do, > there may be better ways of doing it. After more digging, '::1' means loopback interface under IPv6. Further information can be found at: http://www.juniper.net/techpubs/software/erx/erx50x/swconfig- routing-vol1/html/ipv6-config5.html IPv6 Address Compression IPv6 addresses often contain consecutive hexadecimal fields of zeros. To simplify address entry, you can use two colons (::) to represent the consecutive fields of zeros when typing the IPv6 address. Table 3-1 provides compressed IPv6 address format examples. Table 3-1 Compressed IPv6 formats IPv6 Address Type Full Format Compressed Format Unicast 10FB:0:0:0:C:ABC:1F0C:44DA 10FB::C:ABC:1F0C:44DA Multicast FD01:0:0:0:0:0:0:1F FD01::1F Loopback 0:0:0:0:0:0:0:1 ::1 Unspecified 0:0:0:0:0:0:0:0 :: Graham
|