Nginx+Lua+Redis で動的upstream
worker_processes 1; | |
error_log /dev/stderr debug; | |
events { | |
worker_connections 256; | |
} | |
http { | |
server { | |
listen 8888; | |
server_name localhost; | |
location / { | |
set $upstream ""; | |
rewrite_by_lua ' | |
local res = ngx.location.capture("/redis") | |
if res.status == ngx.HTTP_OK then | |
ngx.var.upstream = res.body | |
else | |
ngx.exit(ngx.HTTP_FORBIDDEN) | |
end | |
'; | |
proxy_pass http://$upstream; | |
} | |
location /redis { | |
internal; | |
set $redis_key $host; | |
redis_pass 127.0.0.1:6379; | |
default_type text/html; | |
} | |
} | |
} |
This comment has been minimized.
This comment has been minimized.
$ curl -i http://127.0.0.1:8888/ |
This comment has been minimized.
This comment has been minimized.
curl -i -H 'Host: sushi.blog.com' http://127.0.0.1:8888/ |
This comment has been minimized.
This comment has been minimized.
エラー処理とかキャッシュとかそういうのははしょってます |
This comment has been minimized.
This comment has been minimized.
寿司がくいたい |
This comment has been minimized.
This comment has been minimized.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This comment has been minimized.
$ redis-cli
redis 127.0.0.1:6379> set sushi.blog.com 192.168.0.1:8888
OK