91 lines
1.9 KiB
Nginx Configuration File
91 lines
1.9 KiB
Nginx Configuration File
env HOSTNAME;
|
|
env NODE_NAME;
|
|
env POD_NAME;
|
|
env POD_NAMESPACE;
|
|
env POD_IP;
|
|
|
|
events {
|
|
worker_connections 1024;
|
|
}
|
|
|
|
http {
|
|
default_type 'text/plain';
|
|
client_max_body_size 0;
|
|
|
|
init_by_lua_block {
|
|
local template = require "resty.template"
|
|
|
|
tmpl = template.compile([[
|
|
|
|
Hostname: {*os.getenv("HOSTNAME") or "N/A"*}
|
|
|
|
Pod Information:
|
|
{% if os.getenv("POD_NAME") then %}
|
|
node name: {*os.getenv("NODE_NAME") or "N/A"*}
|
|
pod name: {*os.getenv("POD_NAME") or "N/A"*}
|
|
pod namespace: {*os.getenv("POD_NAMESPACE") or "N/A"*}
|
|
pod IP: {*os.getenv("POD_IP") or "N/A"*}
|
|
{% else %}
|
|
-no pod information available-
|
|
{% end %}
|
|
|
|
Server values:
|
|
server_version=nginx: {*ngx.var.nginx_version*} - lua: {*ngx.config.ngx_lua_version*}
|
|
|
|
Request Information:
|
|
client_address={*ngx.var.remote_addr*}
|
|
method={*ngx.req.get_method()*}
|
|
real path={*ngx.var.request_uri*}
|
|
query={*ngx.var.query_string or ""*}
|
|
request_version={*ngx.req.http_version()*}
|
|
request_scheme={*ngx.var.scheme*}
|
|
request_uri={*ngx.var.scheme.."://"..ngx.var.host..":"..ngx.var.server_port..ngx.var.request_uri*}
|
|
|
|
Request Headers:
|
|
{% for i, key in ipairs(keys) do %}
|
|
{% local val = headers[key] %}
|
|
{% if type(val) == "table" then %}
|
|
{% for i = 1,#val do %}
|
|
{*key*}={*val[i]*}
|
|
{% end %}
|
|
{% else %}
|
|
{*key*}={*val*}
|
|
{% end %}
|
|
{% end %}
|
|
|
|
Request Body:
|
|
{*ngx.var.request_body or " -no body in request-"*}
|
|
]])
|
|
}
|
|
|
|
server {
|
|
listen 80 default_server reuseport;
|
|
|
|
server_name _;
|
|
|
|
keepalive_timeout 620s;
|
|
|
|
location / {
|
|
lua_need_request_body on;
|
|
|
|
header_filter_by_lua_block {
|
|
if ngx.var.arg_hsts == "true" then
|
|
ngx.header["Strict-Transport-Security"] = "max-age=3600; preload"
|
|
end
|
|
}
|
|
|
|
content_by_lua_block {
|
|
ngx.header["Server"] = "echoserver"
|
|
|
|
local headers = ngx.req.get_headers()
|
|
local keys = {}
|
|
for key, val in pairs(headers) do
|
|
table.insert(keys, key)
|
|
end
|
|
table.sort(keys)
|
|
|
|
ngx.say(tmpl({os=os, ngx=ngx, keys=keys, headers=headers}))
|
|
}
|
|
}
|
|
}
|
|
}
|