У меня есть веб-сервер, использующий 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)