1

以下のコードは Openresty lua で正常に動作します

ngx.header["Set-Cookie"] = {
   'test1=; expires=Thu, Jan 01 1970 00:00:00 UTC; domain=test.com;',
   'test2=; expires=Thu, Jan 01 1970 00:00:00 UTC; domain=test.com;'
}

ただし、Cookie 名を動的にしようとしても機能しません。

local cookies = {}
local args = {'test1', 'test2'}

for i=1, #args do
  cookies[i] = args[i] .. '=; expires=Thu, Jan 01 1970 00:00:00 UTC; domain=test.com;'
end

ngx.header["Set-Cookie"] = cookies

table.insert を使用してみました:

local cookies = {}
local args = {'test1', 'test2'}

for i=1, #args do
  table.insert(cookies, args[i] .. '=; expires=Thu, Jan 01 1970 00:00:00 UTC; domain=test.com;')
end

ngx.header["Set-Cookie"] = cookies

への変数の割り当てに問題があるようですngx.header["Set-Cookie"]

4

1 に答える 1

1

ngx.header.set_cookie作品の代わりに使用しngx.header["Set-Cookie"]ます。次のコードが機能するようになりました。

local cookies = {}
local args = {'test1', 'test2'}

for i=1, #args do
  cookies[i] = args[i] .. '=; expires=Thu, Jan 01 1970 00:00:00 UTC; domain=test.com;'
end

ngx.header.set_cookie = cookies
于 2016-01-12T12:20:18.193 に答える