протокол hapijs h2o2 не поддерживается - PullRequest
0 голосов
/ 03 июня 2018

У меня есть веб-сервер, использующий https, который использует h2o2 для прокси / api / * запросов к моему серверу api, который использует http.Оба сервера построены на основе HapiJS .

На странице / login пользователь может отправить данные аутентификации в / api / authenticate, откуда он возвращает файл cookie JWT и (что яя застрял на) перенаправляет пользователя на / (или любую другую страницу).

Запрос успешно проходит через прокси, и до тех пор, пока я просто использую h.response вместо h.redirect сгенерированного токенавозвращает его клиенту.

Когда я использую h.redirect с относительным URL, таким как /images/background.png, я получаю 404: not found.Когда я использую h.redirect с полным URL, таким как https://example.com/, я получаю Protocol "https:" not supported. Expected "http:".Даже если я введу URL http://example.com/ (который перенаправляет на https://example.com/), он все равно реструктурирует запрос в запрос https.

Использование относительного URL было бы неплохо, но по крайней мере получитьПереадресация для работы с полным URL-адресом является обязательным.

Я попытался переключить сервер api на https (хотя я думал, что это нормально - сохранять http?), но сертификат действителен только для example.com,не ip. Я бы предпочел не переподписывать сертификат с ip в качестве альтернативы. Я хочу придерживаться http для сервера api, но я не совсем уверен, что нужно сделать, чтобы это работало. Любые идеиили совет с благодарностью.

Я использую hapi 17.5.1 для обоих серверов и h2o2 8.2.1

TypeError [ERR_INVALID_PROTOCOL]: Protocol "https:" not supported. Expected "http:" at new ClientRequest (_http_client.js:109:11) at Object.request (https.js:272:10) at internals.Client._request (webpack:///./node_modules/h2o2/node_modules/wreck/lib/index.js?:192:24) at options.beforeRedirect (webpack:///./node_modules/h2o2/node_modules/wreck/lib/index.js?:241:38) at Object.options.beforeRedirect.options.beforeRedirect (webpack:///./node_modules/h2o2/node_modules/wreck/lib/index.js?:100:134) at ClientRequest.onResponse (webpack:///./node_modules/h2o2/node_modules/wreck/lib/index.js?:239:24) at Object.onceWrapper (events.js:273:13) at ClientRequest.emit (events.js:182:13) at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:546:21) at HTTPParser.parserOnHeadersComplete (_http_common.js:109:17)

...