Cookie が存在する場合にのみ、URL を (uwsgi 経由で) Django プラットフォームにリダイレクトしたいと考えています。content_by_lua
それができない場合は、実行をプラグインに任せる必要があります。
以下は、そのようなロジックでの私の試みです。
location ~* "^/[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$" { # match a UUID v4
include uwsgi_params;
if ($cookie_admin) {
# if cookie exists, rewrite /<uuid> to /modif/<uuid> and pass to uwsgi
rewrite ^/([0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12})$ /modif/$1 break;
uwsgi_pass frontend;
}
content_by_lua '
ngx.say("Ping! You got here because you have no cookies!")
';
}
Nginx は、次のログ メッセージで私の知性を侮辱することが必要かつ適切であると判断しました。
nginx: [emerg] directive "rewrite" is not terminated by ";" in /opt/openresty/nginx/conf/nginx.conf:34
おそらく、私は nginx が考えているほど密集していますが、何を見逃したのでしょうか?
おまけの質問:私の一般的なアプローチは安全で正気ですか? 私の目標を達成するためのより良い方法はありますか?