server { server_name _; # HTTP listen {% if LISTEN_HTTP == "yes" +%} listen 0.0.0.0:{{ HTTP_PORT }} default_server {% if USE_PROXY_PROTOCOL == "yes" %}proxy_protocol{% endif %}; {% endif %} # include core and plugins default-server configurations include /etc/nginx/default-server-http/*.conf; # include custom default-server configurations include /opt/bunkerweb/configs/default-server-http/*.conf; log_by_lua_block { local utils = require "utils" local logger = require "logger" local datastore = require "datastore" local plugins = require "plugins" logger.log(ngx.INFO, "LOG", "Log phase started") -- List all plugins local list, err = plugins:list() if not list then logger.log(ngx.ERR, "LOG", "Can't list loaded plugins : " .. err) list = {} end -- Call log_default method of plugins for i, plugin in ipairs(list) do local ret, plugin_lua = pcall(require, plugin.id .. "/" .. plugin.id) if ret then local plugin_obj = plugin_lua.new() if plugin_obj.log_default ~= nil then logger.log(ngx.INFO, "LOG", "Executing log_default() of " .. plugin.id) local ok, err = plugin_obj:log_default() if not ok then logger.log(ngx.ERR, "LOG", "Error while calling log_default() on plugin " .. plugin.id .. " : " .. err) else logger.log(ngx.INFO, "LOG", "Return value from " .. plugin.id .. ".log_default() is : " .. err) end else logger.log(ngx.INFO, "LOG", "log_default() method not found in " .. plugin.id .. ", skipped execution") end end end -- Display reason at info level local reason = utils.get_reason() if reason then logger.log(ngx.INFO, "LOG", "Client was denied with reason : " .. reason) end logger.log(ngx.INFO, "LOG", "Log phase ended") } }