NGINX Конфигурация - не работают проверяющие тела запросов - PullRequest
0 голосов
/ 13 февраля 2020

Я следую инструкциям из https://www.nginx.com/blog/deploying-nginx-plus-as-an-api-gateway-part-2-protecting-backend-services/ в разделе «Подтверждение тел запроса».

становится ниже исключения при перезапуске nginx после запроса ввода json проверка

bind() to 127.0.0.1:10415 failed (13: Permission denied)

Я уже открыл один и тот же порт на том же сервере, используя следующую команду:

firewall-cmd --zone=public --add-port=10415/tcp --permanent

Ниже строки запрещен запуск: api_gateway.conf

js_include json_validator.js;
js_set $validated json_validator;
server {
    listen 127.0.0.1:10415; # This is the error response of json_validator()
    return 415; # Unsupported media type
    include api_json_errors.conf;
}

Почему это так? помогите пожалуйста

Добавление полной конфигурации: json_validated. js

function json_validator(req) {
    try {
        req.log('JSON.parse exception before');
        if ( req.variables.request_body.length > 0 ) {
            req.log('JSON.parse exception inside if');
            JSON.parse(req.variables.request_body);
            req.log('JSON.parse exception inside if after parse');
        }
        req.log('JSON.parse exception inside if before return');
        req.log(req.variables.upstream);
        return req.variables.upstream;
    } catch (e) {
        req.log('JSON.parse exception');
        return '127.0.0.1:10415'; // Address for error response
    }
}

api_test.conf

location = /_external {
    internal;
    proxy_pass https://$validated$request_uri;
}

Также пытался использовать $ validated, как это, чтобы я мог вернуть ошибку, основанную на условии ниже, но это, похоже, не работает, Tried, api_test.conf

  location = /_external {
        internal;
   if ($validated = "") {
        return 415; 
    }
        proxy_pass https://$validated$request_uri;
    }

Это время, которое я вижу в журнале, всегда касается правильного или неправильного ввода json,

2020/02/14 01:59:33 [info] 20275#20275: *2 js: JSON.parse exception before
2020/02/14 01:59:33 [info] 20275#20275: *2 js: JSON.parse exception
...