Передача данных POST в сокет домена unix через nginx

Вероятно, единственный выбор - прочитать его на стороне клиента и перенести его вручную на сервер (GET / POST / AJAX). С уважением Артур

Вы также можете посмотреть, как играть с кнопкой «Назад» и историей браузера на Malcan

0
задан zono 20 March 2019 в 07:55
поделиться

1 ответ

Я узнал ответ.

// install nginx-extras
apt-get install nginx-extras

// /etc/nginx/sites-enabled/default
server {
  listen 80;

  location / {
        content_by_lua '
            ngx.req.read_body()
            local body_data = ngx.req.get_body_data()

            local sock = ngx.socket.tcp()
            local ok, err = sock:connect("unix:/home/zono/.lightning/lightning-rpc")

            local bytes = sock:send(body_data)

            local readline = sock:receiveuntil("\\n\\n")
            local line, err, part = readline()
            if line then
                ngx.say(line)
            end

            ok, err = sock:close()
        ';
  }
}

// curl
$ curl -X POST --data '{ "method" : "getinfo", "params" : [], "id" : "1" }' http://127.0.0.1
0
ответ дан zono 20 March 2019 в 07:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: