Я использую OpenResty с nginx для автоматического получения сертификатов SSL от Зашифруем. Есть функция lua, где вы можете разрешить определенные домены. В этой функции у меня есть регулярное выражение для внесения в белый список моих доменов. После того, как я добавляю определенную сумму (точно не знаю), я начинаю получать эту ошибку:
nginx: [emerg] too long lua code block, probably missing terminating characters in /usr/local/openresty/nginx/conf/nginx.conf:60.
Сокращение этой строки приводит к исчезновению ошибки.
Я не знаком с lua, но вот пример кода. Мне нужно добавить сюда несколько сотен доменов.
auto_ssl:set("allow_domain", function(domain)
return ngx.re.match(domain, "^(domain1.com|domain2.com|domain3.com....)$", "ijo")
end)
Нужно ли мне определять эту строку заранее или, может быть, где-то указать ее длину?
ИЗМЕНИТЬ хорошо, значит, я думал об этом по-другому. Кто-нибудь видит проблему, если я попробую это? Какие-то проблемы с производительностью или вещи, связанные с lua? Может быть, есть более эффективный способ сделать это?
auto_ssl:set("allow_domain", function(domain)
domains = [[
domain1.com
domain2.com
domain3.com
-- continues up to domain300.com
]]
i, j = string.find(domains, domain)
return i ~= nil
end)
return ngx.re.match(domain, "^(domain1.com|domain2.com)$", "ijo")
- person jeremywoertink   schedule 02.03.2019