phpIPAM Behind a Load Balancer with SSL Offloading

phpIPAM supports SSL offloading via standard X-Forwarded-Proto and X-Forwarded-For HTTP request headers: public function createURL () { // Reset URL for base if ($_SERVER['SERVER_PORT'] == "443") { $url = "https://$_SERVER[HTTP_HOST]"; } // Reverse proxy doing SSL offloading elseif (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') { $url = "https://$_SERVER[SERVER_NAME]"; } elseif (isset($_SERVER['HTTP_X_SECURE_REQUEST']) && $_SERVER['HTTP_X_SECURE_REQUEST'] == 'true') { $url = "https://$_SERVER[SERVER_NAME]"; } // Custom port elseif ($_SERVER['SERVER_PORT'] != "80") { $url = "http://$_SERVER[SERVER_NAME]:$_SERVER[SERVER_PORT]"; } // Normal HTTP ... However, if your load balancer does not forward this header or SSL offloading is misconfigured, phpIPAM may generate broken HTTP redirect loops or fail to load CSS and JavaScript assets. ...

May 7, 2016 · 1 min