小编use*_*802的帖子

Nginx 此处不允许使用“http”指令

我开始并想使用 Nginx 连接到我的数据库。这是我的sites-enables / default文件:

http {
  upstream database {
   postgres_server 192.168.0.166 dbname=stardb 
                                user=username password=yourpass;
  }

  server {
    listen 80 default_server;
    listen [::]:80 default_server;

    location /ip {
      postgres_pass     database;

      postgres_query    HEAD GET  "SELECT http_host as ip FROM establishment_view where aet = 'NXS_DEV_FLO2'";
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

nginx[7597]: nginx: [emerg] /etc/nginx/sites-enabled/default:17 中不允许使用“http”指令

我发现这个错误很常见,但即使查看其他帖子我也无法解决我的问题。我的文件中有这一行nginx.conf

include /etc/nginx/sites-enabled/*;
Run Code Online (Sandbox Code Playgroud)

我需要删除sites_enables/default文件中的 http 行吗?

lua nginx

3
推荐指数
1
解决办法
5192
查看次数

“降级时无推荐人”Nginx 502

我网站的某些页面上出现 502 错误,我不明白为什么有些页面可以工作,但其他页面会显示此错误:

请求方法:POST 状态代码:502 Bad Gateway Referrer Policy:no-referrer-when-downgrade

nginx

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

在 lua 和 nginx 中使用变量

我有一个$aet在 lua 中初始化的变量,但我希望我也可以在 nginx 中使用它。

这是我的代码:

location /getIp {
    default_type 'application/json';
    rds_json          on;

    content_by_lua '
        if ngx.var.host:match("(.*).nexus$") ~= nil then
            aet = ngx.var.host:match("(.-)%.")
            $aet = aet;
        end
    ';
    postgres_pass     database;
    postgres_query  "SELECT ip FROM establishment_view WHERE aet = $aet";
    postgres_output rds;
}
Run Code Online (Sandbox Code Playgroud)

它不起作用,因为在查询中它不知道变量 aet :

nginx: [emerg] 未知的“aet”变量

database variables lua nginx

0
推荐指数
1
解决办法
7840
查看次数

标签 统计

nginx ×3

lua ×2

database ×1

variables ×1