lua_shared_dict
, это hashmap которая работает атомарно независимо от количества воркеров в nginx. location /163e065a629a40fbb1e4d6aafc29bdce/ping {
let current_date = $date_gmt
cache:set('date', current_date, 3600)
return 200 current_date;
}
location /163e065a629a40fbb1e4d6aafc29bdce/check {
add_header Content-Type text/plain;
local last_ping = cache:get('date')
return 200 last_ping;
}
lua_shared_dict
, это hashmap которая работает атомарно независимо от количества воркеров в nginx. По сути ты можешь передавать аргументом в nginx ссылку на стрим/stream-update?link=https//domain.com/super_stream_porn.....
local cache = ngx.shared.ourmegacache // ourmegacache - имя стора
local args = ngx.req.get_uri_args()
local link = tonumber(args.link) or ""
cache:set('url', link, 3600)
local link = cache:get('url')
server {
listen 80;
server_name site.example.ru;
location / {
proxy_pass http://127.0.0.1:3334/;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
}
}
Необходимо клиентам выдавать красивую 403
error_page 403 /custom_403.html;
location / {
...
proxy_intercept_errors on;
...
}