Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   Очень нубовский вопрос, как послать данные на сервер и получить от него ответ? (https://javascript.ru/forum/library-toolkit-framework/81051-ochen-nubovskijj-vopros-kak-poslat-dannye-na-server-i-poluchit-ot-nego-otvet.html)

Was-Ja 21.09.2020 20:27

Спасибо! Да, json.out - это скомпилленный под бубунтой гнутым компилером сишник. Да, верно, скачать его можно, хотя я у него правами доступа уже игрался - не помогало.

То есть в нете есть куча вариантов, как в гребанном NGINX сделать такое, в основном с php (мне именно Сшник скомпилленный нужен), но я ни один пример таки не смог запустить, хотя уже второй день интенсивно пытаюсь.

Рут на сервере понятно мой, в бубунте вроде немного разбираюсь (не админ, но многое понимаю) но тут просто какой-то ступор уже.

Если кто-то знает что можно попробовать (желательно не отказываясь от nginx) чтобы JSON запрос выполнить на сервере выполнялкой (не через cgi-bin, а именно JSON) пожалуйста, посоветуйте!

Спасибо!

Was-Ja 21.09.2020 20:31

Цитата:

Сообщение от voraa (Сообщение 529103)
Странная проблема с этим nginx.
Похоже он не может запускать CGI скрипты
https://coderoad.ru/11667489/%D0%9A%...BD%D0%B0-Nginx

Ой, спасибо огромное!!! Буду разбираться!

voraa 21.09.2020 20:33

Цитата:

Сообщение от Was-Ja
То есть в нете есть куча вариантов, как в гребанном NGINX сделать такое, в основном с php

В NGINX нет CGI. Есть Fast-cgi. И специальная версия php под Fast-cgi.
https://ru.wikipedia.org/wiki/FastCGI
Остается только использовать php (вроде Питон еще есть)

voraa 21.09.2020 21:02

Есть обертка (скорее прокладка) fcgiwrap.
Это Fast-cgi программа, которая может вызывать cgi скрипты
NGINX вызывает ее, передает запрос, fcgiwrap вызывает cgi программу, передает запрос ей, получает ответ, отправляет обратно серверу

https://victor-sudakov.livejournal.com/434658.html
https://coolchevy.org.ua/2011/11/25/...ort-for-nginx/
https://www.nginx.com/resources/wiki...ples/fcgiwrap/

Was-Ja 26.09.2020 20:53

Спасибо большое!

Кажется разобрался, вернее добрый человек помог. Проще было в nginx замапить локальный порт на какой-то адрес, например, с помощью libmicrohttpd, грубо говоря www.mysite.com/device1 линкуется в nginx на 8888 порт и для этого надо в конфиге написать:

Код:

        location /device1 {
            proxy_pass        http://127.0.0.1:8888;
            proxy_set_header  Host $host;
            proxy_set_header  X-Real-IP $remote_addr;
            proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header  X-Forwarded-Host $server_name;
            proxy_set_header  X-Forwarded-Proto https;

            access_log      /var/log/nginx/8888.access.log;
            error_log      /var/log/nginx/8888.error.log;

            proxy_read_timeout  1200s;

            client_max_body_size 0;

        }



Часовой пояс GMT +3, время: 19:00.