ECONNRESET при тестировании функций netlify и Gatsbyjs 2

Я пытаюсь проверить свои лямбда-функции для Netlify локально, используя netlify-lambda, но не могу заставить прокси работать с Gatsbyjs. Я продолжаю получать это в консоли:

[HPM] Rewriting path from "/.netlify/functions/add-subscriber" to "/add-subscriber"
[HPM] GET /.netlify/functions/add-subscriber ~> http://localhost:9000
[HPM] Error occurred while trying to proxy request /add-subscriber from localhost:8000 to http://localhost:9000 (ECONNRESET) (https://nodejs.org/api/errors.html#errors_common_system_errors)

Это то, что я получаю в запросе

Произошла ошибка при попытке прокси: localhost:8000/add-subscriber

Это то, что у меня есть в моем gatsby-config.js файл

developMiddleware: app => {
  app.use(
    "/.netlify/functions",
    proxy({
      target: "http://localhost:9000",
      pathRewrite: {
        "^/\\.netlify/functions": ""
      },
      logLevel: "debug"
    })
  )
}

И здесь я делаю запрос

onSubmit(values) {
  fetch('/.netlify/functions/add-subscriber')
    .then(resp => resp.json())
    .then(resp => console.log(resp))
    .catch(e => {
      console.error(e)
    })
}

Я попробовал следующие несколько примеров, но ни один из них не работает для меня. Я также закрыл все программы, которые могут использовать порты. Тестирование URL ( http://localhost:9000/add-subscriber) из браузера работает нормально. Получение URL-адреса напрямую также работает нормально. В чем может быть проблема?

1 ответ

Изменение на target: 'http://[::1]:9000', сделал трюк для меня

Первое, что я заметил, было то, что ваш pathRewrite не соответствует примеру в документах, которые вы используете "^/\\.netlify/functions" в то время как документы используют "/.netlify/functions/", Может ли это быть так просто?

Что произойдет, если вы загрузите http://localhost:8000/.netlify/functions/add-subscriber через curl или прямо в браузере? Это должно сказать вам, если конфигурация работает правильно или нет.

Другие вопросы по тегам