Index: /binary-improvements/MapRendering/ModInfo.xml
===================================================================
--- /binary-improvements/MapRendering/ModInfo.xml	(revision 310)
+++ /binary-improvements/MapRendering/ModInfo.xml	(revision 311)
@@ -5,5 +5,5 @@
 		<Description value="Render the game map to image map tiles as it is uncovered" />
 		<Author value="Christian 'Alloc' Illy" />
-		<Version value="21" />
+		<Version value="22" />
 		<Website value="http://7dtd.illy.bz" />
 	</ModInfo>
Index: /binary-improvements/MapRendering/Web/Handlers/SessionHandler.cs
===================================================================
--- /binary-improvements/MapRendering/Web/Handlers/SessionHandler.cs	(revision 310)
+++ /binary-improvements/MapRendering/Web/Handlers/SessionHandler.cs	(revision 311)
@@ -52,5 +52,5 @@
 				}
 			} else if (subpath.StartsWith ("login")) {
-				string host = (parent.isSslRedirected ? "https://" : "http://") + req.UserHostName;
+				string host = (Web.isSslRedirected (req) ? "https://" : "http://") + req.UserHostName;
 				string url = OpenID.GetOpenIdLoginUrl (host, host + "/session/verify");
 				resp.Redirect (url);
Index: /binary-improvements/MapRendering/Web/Web.cs
===================================================================
--- /binary-improvements/MapRendering/Web/Web.cs	(revision 310)
+++ /binary-improvements/MapRendering/Web/Web.cs	(revision 311)
@@ -24,7 +24,11 @@
 		private bool useStaticCache = false;
 
-		public bool isSslRedirected {
-			private set;
-			get;
+		public static bool isSslRedirected (HttpListenerRequest req) {
+			string proto = req.Headers ["X-Forwarded-Proto"];
+			if (!string.IsNullOrEmpty (proto)) {
+				return proto.Equals ("https", StringComparison.OrdinalIgnoreCase);
+			}
+
+			return false;
 		}
 
@@ -44,5 +48,4 @@
 
 				// TODO: Read from config
-				isSslRedirected = false;
 				useStaticCache = false;
 
