diff --git a/src/bw/lua/bunkerweb/utils.lua b/src/bw/lua/bunkerweb/utils.lua index 9b381c680..890432edf 100644 --- a/src/bw/lua/bunkerweb/utils.lua +++ b/src/bw/lua/bunkerweb/utils.lua @@ -57,6 +57,19 @@ utils.get_variable = function(variable, site_search, ctx) end if variables[server_name] then value = variables[server_name][variable] + else + for first_server, server_variables in pairs(variables) do + if first_server ~= "global" then + all_server_name = server_variables["SERVER_NAME"] + if all_server_name then + for single_server_name in all_server_name:gmatch("%S+") do + if single_server_name == server_name then + return server_variables[variable], "success" + end + end + end + end + end end end return value, "success" diff --git a/src/common/core/customcert/customcert.lua b/src/common/core/customcert/customcert.lua index 76655c1f9..7d01bc898 100644 --- a/src/common/core/customcert/customcert.lua +++ b/src/common/core/customcert/customcert.lua @@ -87,15 +87,14 @@ function customcert:ssl_certificate() if not server_name then return self:ret(false, "can't get server_name : " .. err) end - if self.variables["USE_CUSTOM_SSL"] == "yes" then - local data - data, err = self.datastore:get("plugin_customcert_" .. server_name, true) - if not data then - return self:ret( - false, - "error while getting plugin_customcert_" .. server_name .. " from datastore : " .. err - ) - end + local data + data, err = self.datastore:get("plugin_customcert_" .. server_name, true) + if not data and err ~= "not found" then + return self:ret( + false, + "error while getting plugin_customcert_" .. server_name .. " from datastore : " .. err + ) + elseif data then return self:ret(true, "certificate/key data found", data) end return self:ret(true, "custom certificate is not used") diff --git a/src/common/core/letsencrypt/letsencrypt.lua b/src/common/core/letsencrypt/letsencrypt.lua index 28db141ff..342321e8b 100644 --- a/src/common/core/letsencrypt/letsencrypt.lua +++ b/src/common/core/letsencrypt/letsencrypt.lua @@ -100,15 +100,14 @@ function letsencrypt:ssl_certificate() if not server_name then return self:ret(false, "can't get server_name : " .. err) end - if self.variables["AUTO_LETS_ENCRYPT"] == "yes" then - local data - data, err = self.datastore:get("plugin_letsencrypt_" .. server_name, true) - if not data then - return self:ret( - false, - "error while getting plugin_letsencrypt_" .. server_name .. " from datastore : " .. err - ) - end + local data + data, err = self.datastore:get("plugin_letsencrypt_" .. server_name, true) + if not data and err ~= "not found" then + return self:ret( + false, + "error while getting plugin_letsencrypt_" .. server_name .. " from datastore : " .. err + ) + elseif data then return self:ret(true, "certificate/key data found", data) end return self:ret(true, "let's encrypt is not used") diff --git a/src/common/core/selfsigned/selfsigned.lua b/src/common/core/selfsigned/selfsigned.lua index fa0deb411..32c413bd0 100644 --- a/src/common/core/selfsigned/selfsigned.lua +++ b/src/common/core/selfsigned/selfsigned.lua @@ -87,18 +87,17 @@ function selfsigned:ssl_certificate() if not server_name then return self:ret(false, "can't get server_name : " .. err) end - if self.variables["GENERATE_SELF_SIGNED_SSL"] == "yes" then - local data - data, err = self.datastore:get("plugin_selfsigned_" .. server_name, true) - if not data then - return self:ret( - false, - "error while getting plugin_selfsigned_" .. server_name .. " from datastore : " .. err - ) - end + local data + data, err = self.datastore:get("plugin_selfsigned_" .. server_name, true) + if not data and err ~= "not found" then + return self:ret( + false, + "error while getting plugin_selfsigned_" .. server_name .. " from datastore : " .. err + ) + elseif data then return self:ret(true, "certificate/key data found", data) end - return self:ret(true, "selfsigned is not used") + return self:ret(true, "self signed is not used") end function selfsigned:load_data(data, server_name)