Ответы пользователя по тегу Node.js
  • Ошибка ERR_CONNECTION_REFUSED, что не так?

    TemaSM
    @TemaSM
    Fullstack, DevOps, InfSec
    Ошибка "ERR_CONNECTION_REFUSED" и "TypeError: NetworkError when attempting to fetch resource" обычно указывает на то, что удаленный сервер не доступен по указанному адресу или порту.

    В вашем коде, вы указываете порт 3000 в запросе на https://example.com:3000/server/, но в коде сервера, вы слушаете порт 3000 на хосте example.com/server.
    Чтобы исправить это, вам нужно изменить значение host в коде сервера на example.com и удалить /server из пути запроса:
    const host = 'example.com';
    const port = 3000;
    
    // ...
    
    app.post('/server', (req, res) => { // изменить путь на /server
      // ...
    });


    Дополнительное, не обязательное:

    Кроме того, вы используете режим "no-cors" в запросе fetch, что означает, что запрос будет выполнен без использования CORS (Cross-Origin Resource Sharing), что может привести к блокировке запроса браузером из-за политики безопасности CORS. Если вы контролируете и настраиваете сервер, на который отправляете запрос, лучше использовать стандартный режим "cors" или "same-origin".
    const response = await fetch(
      'https://example.com/server/', // изменить путь на /server
      {
        method: 'POST',
        // mode: 'no-cors', // удалить эту строку
        headers: {
          'Content-Type': 'text/plain',
        },
        body: mail,
      }
    );

    После проверки параметров host, port и внесения изменений, ваш POST запрос должен пройти успешно.
    Ответ написан
    7 комментариев