Package com.iizix.server.geo.ip2location
package com.iizix.server.geo.ip2location
The IIZI integration of the product-neutral
co.mindus.ip2location library: the server module that starts the local IP2Location service from the server settings (IP2LocationModule), the region location provider that answers RegionLocationService requests from it (IP2LocationRegionService), the ILog bridge (ILogEventLogger), the settings assembly (IP2LocationSettings), the client address resolution behind trusted proxies (ClientAddressResolver) and the session geolocation log at connect, reconnect and disconnect (SessionGeoLogger).Every switch is off by default: $ip2location.enabled, $geo.webProviders and $geo.sessionLog in ServerSettings.
- Author:
- Christopher Mindus
- ClassDescriptionDecides which IP address stands for a client: the address Jetty saw, or, when that address is a trusted proxy (a reverse proxy or the IIZI load balancer), the client address the proxy forwarded in a
Forwarded(RFC 7239) orX-Forwarded-Forheader.The two forwarded-address headers of an HTTP upgrade request, in the order received.The resolved client address and its source.Where the resolved address came from.The operator's trusted proxies: a set of IP addresses and CIDR prefixes.Checks at server start that a server behind a front end knows its front end (CC-FIX-SIGNIN-THROTTLE-SOURCE, D-8).TheIEventLoggerof the IIZI server: routes every IP2Location event toILogunder the originating class, INFO as INFO, WARNING as WARNING and ERROR (and any unknown level) as SEVERE.The IP geolocation server module: the IIZI bootstrap of theco.mindus.ip2locationlibrary.The IP2Location region location provider: answersRegionLocationServicerequests from the local IP2Location LITE database throughIP2LocationManager.Assembles the IP2Location service configuration from the server settings: the database directory, theIP2LocationService.Builderand theRecoveryConfig.Logs the geolocation of a client session at its connection events - connect, reconnect and disconnect - throughILog, when the server settingServerSettings.GEO_SESSION_LOGis on (it is off by default).