Я следую инструкциям из 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