@Jiestie

Как лимитировать запросы процесса к сторонним сервисам с помощью nginx, если запросы к сервисам должны быть по https?

Есть процесс node.js который делает запросы к сервисам, у сервисов лимит запросов в секунду,
`
limit_req_zone $arg_userident zone=mylimit:10m rate=10r/s;

server {
listen 9333;
ssl_certificate /etc/nginx/cert.crt;
ssl_certificate_key /etc/nginx/cert.key;
ssl on;

location /route/{
limit_req zone=mylimit burst=2000;
proxy_pass https://limit_service.com/;
}

}

`
если я шлю запросы с ноды, то получаю ошибку
ERROR >>> { Error: self signed certificate
at TLSSocket.onConnectSecure (_tls_wrap.js:1046:34)
at TLSSocket.emit (events.js:180:13)
at TLSSocket._finishInit (_tls_wrap.js:633:8) code: 'DEPTH_ZERO_SELF_SIGNED_CERT', response: undefined }


Чтобы работало - надо указать
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";


тоже самое и с curl- не работает, если не указать флаг -v.
В чем проблема, как починить? Какэто вообще называется proxy? или reverse proxy? или что это вообще?

Так же такой вопрос- можно как-то при помощи iptables скрыть этот порт nginxа от внешнего интернета, от сканеров портов? Но в тоже время сохранить его возможность получать ответы на собственные запросы?
  • Вопрос задан
  • 134 просмотра
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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