plugins/mod_http.lua
changeset 6027 8c69cea8a1bf
parent 5776 bd0ff8ae98a8
parent 6026 8a8be471ec72
child 6086 3b4fde51fa25
--- a/plugins/mod_http.lua	Wed Feb 19 20:13:35 2014 +0100
+++ b/plugins/mod_http.lua	Wed Feb 26 22:21:55 2014 +0100
@@ -42,7 +42,7 @@
 	return (normalize_path(host_module:get_option("http_paths", {})[app_name] -- Host
 		or module:get_option("http_paths", {})[app_name] -- Global
 		or default_app_path)) -- Default
-		:gsub("%$(%w+)", { host = module.host });
+		:gsub("%$(%w+)", { host = host_module.host });
 end
 
 local ports_by_scheme = { http = 80, https = 443, };
@@ -51,6 +51,9 @@
 function moduleapi.http_url(module, app_name, default_path)
 	app_name = app_name or (module.name:gsub("^http_", ""));
 	local external_url = url_parse(module:get_option_string("http_external_url")) or {};
+	if external_url.scheme and external_url.port == nil then
+		external_url.port = ports_by_scheme[external_url.scheme];
+	end
 	local services = portmanager.get_active_services();
 	local http_services = services:get("https") or services:get("http") or {};
 	for interface, ports in pairs(http_services) do