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
или прямо в браузере? Это должно сказать вам, если конфигурация работает правильно или нет.