标签: openresty

Nginx启动提示[emerg]配置中没有“事件”部分

在X-WAF部署中,您需要创建一个新的nginx配置文件。但是,在测试nginx配置时,会发现错误并且无法启动nginx。

我参考http://blog.51cto.com/14071176/2318054吗?我根据文章中的配置逐步进行了操作,但是我遇到了问题。

root@VM-0-6-ubuntu:~# /usr/local/openresty/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/openresty/nginx/conf/nginx.conf syntax is ok
nginx: [emerg] no "events" section in configuration
nginx: configuration file /usr/local/openresty/nginx/conf/nginx.conf test failed

root@VM-0-6-ubuntu:~# /usr/local/openresty/nginx/sbin/nginx
nginx: [emerg] no "events" section in configuration
Run Code Online (Sandbox Code Playgroud)

在正常情况下,执行/ usr / local / openresty / nginx / sbin / nginx -t将获得两个成功,但是我的是成功和失败。

nginx openresty web-application-firewall

15
推荐指数
2
解决办法
1万
查看次数

无法在Lua代码中使用环境变量

我有一些Lua代码,我在openresty nginx.conf文件中使用它.这个Lua代码包含这样的行:

...
local secret = os.getenv("PATH")
assert(secret ~= nil, "Environment variable PATH not set")
...
Run Code Online (Sandbox Code Playgroud)

出于测试原因,我试图检查是否设置了PATH变量,并且由于某种原因,断言语句没有通过.我在控制台中看到:

环境变量PATH未设置

但是,当我运行这个

$ echo $PATH
Run Code Online (Sandbox Code Playgroud)

我知道,这个变量确实有一些价值.那么,这有什么问题,我该如何解决?

lua nginx openresty

11
推荐指数
1
解决办法
5224
查看次数

来自上游服务器的 nginx 监控响应

我有一个使用 nginx 的反向代理设置。

Client ------> Nginx ------------------------------------> Backend Server
       <------       <-----------------------------------
                      (I want to see the requests here)
Run Code Online (Sandbox Code Playgroud)

如何将包括从后端服务器发送到 nginx 的标头在内的 http 请求记录到文件中?

也许nginx http 代理模块中的指令之一可以帮助我做到这一点。

但我找不到任何有用的指令。

reverse-proxy nginx openresty

7
推荐指数
1
解决办法
8584
查看次数

xxxx 无法解析(110:操作超时)

当我的应用程序中通过 HTTP 调用其他服务时,每次都会发生解析 DNS。一开始解析DNS很正常,没有超时,但过了一段时间,解析DNS超时就越来越多。单独取出超时域名,在Linux环境下使用dig命令解析,均正常。在我的 nginx.conf 文件中,resolver_timeout 60s(默认30s),resolver 8.8.8.8。我的应用程序是通过 openresty 部署的。我如何检查?

dns nginx openresty

7
推荐指数
0
解决办法
2236
查看次数

码头单元测试设置

我想为我的产品设置一个单元测试环境.我在Lua的nginx上构建了一个使用mysql和redis的web应用程序.我认为虽然我是码头工人的新手,但码头工作人员会很好.我的应用程序在centos服务器(生产服务器)上运行.

我打算为mysql,redis和webapp设置不同的容器,然后在我的mac(我的开发机器是MAC)或VM中编写UT应用程序(使用Busted框架进行Lua的单元测试)来测试它.UT应用程序将与docker容器nginx通信,nginx将使用容器mysql和redis.这个好吗 ?如果是,有人可以指导我如何做到这一点?也许一些很好的链接?如果不是,那可能是更好的方法.我已经尝试过使用vagrant但是花了太多时间,这不应该是我的UT情况.

lua unit-testing docker openresty

6
推荐指数
1
解决办法
657
查看次数

通过来自 JWT 令牌的解码值限制 NGINX 速率

我有一个关于 NGINX 速率限制的问题。

是否可以根据 JWT 令牌的解码值进行速率限制?我在文档中找不到任何这样的信息。

或者,即使有一种通过创建纯自定义变量(使用 LuaJIT)来限制速率的方法,该变量将从我解码的 JWT 中分配一个值 - 也可以完成这项工作。问题是limit_req模块似乎在请求到达 luaJIT 阶段之前执行,所以已经太晚了!

一个解决方案将不胜感激。

nginx rate-limiting luajit openresty

6
推荐指数
1
解决办法
830
查看次数

如何通过 Nginx 使用 MySQL 进行动态文档根?

我一直在尝试找到一种方法来首先捕获环境变量 HOSTNAME,然后使用 MySQL 查询来获取我们的虚拟主机的文档根并将其返回到 Nginx conf。我们目前在 Apache 中使用它们作为动态文档根,但正在迁移到 Nginx。

示例 nginx.conf (可能看起来像这样):

server {
    listen   80;
     # grab Environment variable HOSTNAME
     $hostname= ENV(HOSTNAME);
     # execute mysql query
    $doc_root = mysql(select docroot from table where host = '$hostname' );
     # set document root
    root           /var/www/$doc_root;
Run Code Online (Sandbox Code Playgroud)

.....我正在探索使用 Lua 和https://github.com/openresty/lua-resty-mysql 但一直无法弄清楚如何才能捕获 HOSTNAME 和 mysql 查询作为变量并返回结果返回。

mysql lua nginx openresty

5
推荐指数
1
解决办法
4099
查看次数

如何在 Nginx 中动态添加上游?

我的意思是在上游添加上游添加服务器

这意味着我没有像这样的上游块:

upstream backend {
    # ...
}
Run Code Online (Sandbox Code Playgroud)

我想动态创建一个上游块。那是这样的:

content_by_lua_block {
    upstream_block.add('backend');
    upstream_block.add_server('backend', '127.0.0.1', 8080);
    upstream_block.add_server('backend', '127.0.0.1', 8081);
    upstream_block.add_server('backend', '127.0.0.1', 8082);
    upstream_block.del_server('backend', '127.0.0.1', 8080);
}

proxy_pass http://backend
Run Code Online (Sandbox Code Playgroud)

lua nginx openresty

5
推荐指数
1
解决办法
1万
查看次数

为什么我不能设置多个cookies

我正在尝试设置多个 cookie,但它不起作用:

if type(ngx.header["Set-Cookie"]) ~= "table" then
    ngx.header["Set-Cookie"] = {}
end
table.insert(ngx.header["Set-Cookie"], "Cookie1=abc; Path=/")
table.insert(ngx.header["Set-Cookie"], "Cookie2=def; Path=/")
table.insert(ngx.header["Set-Cookie"], "Cookie3=ghi; Path=/")
Run Code Online (Sandbox Code Playgroud)

在客户端,我没有收到任何 cookie。

openresty

5
推荐指数
1
解决办法
1917
查看次数

带有 Keycloak 错误 uthenticate() 的 Openidc:请求到 redirect_uri_path 但没有找到会话状态,客户端

我使用 Openresty 作为服务器。根据https://eclipsesource.com/blogs/2018/01/11/authenticating-reverse-proxy-with-keycloak/,我有 nginx 的配置文件。

我收到以下错误“openidc.lua:1053: authenticate(): request to the redirect_uri_path 但没有找到会话状态,客户端”

有人可以抛出一些光并尝试解决问题。

问候,安拉巴克什

nginx openresty keycloak lua-resty-openidc

5
推荐指数
1
解决办法
2095
查看次数