Вопрос довольно простой. Я хочу использовать сервер Node.js в качестве прокси-сервера для регистрации, аутентификации и пересылки HTTP-запросов на внутренний HTTP-сервер (запросы PUT, GET и DELETE).
Какую библиотеку я должен использовать для этой цели? Боюсь, что не найду.
resp.setEncoding('utf8');
(или любую другую кодировку, которую вы используете) для получения данных в виде строк utf8. Если я правильно понял, в противном случае вы получите объекты Buffer, и у вас могут возникнуть проблемы с многобайтовыми символами, если многобайтовый символ разделен на два фрагмента. (Просто какое-то время отлаживал связанную проблему)request
модуль npm намного больше.Я бы совмещал node-http-proxy и express .
node-http-proxy будет поддерживать прокси внутри вашего веб-сервера node.js через
RoutingProxy
(см. пример под названием « Запросы прокси на другом http-сервере» ).Внутри вашей пользовательской логики сервера вы можете выполнять аутентификацию с помощью экспресс. См. Пример аутентификации здесь .
Объединение этих двух примеров должно дать вам то, что вы хотите.
источник
Вы можете использовать встроенный
http
модуль для создания файлаhttp.request()
.Однако, если вы хотите упростить API, вы можете использовать такой модуль, как суперагент
источник
node-http-proxy - отличное решение, как было предложено @hross выше. Если вы не зациклились на использовании node, мы используем NGINX, чтобы сделать то же самое. Это действительно хорошо работает с node. Мы используем его, например, для обработки SSL-запросов перед их пересылкой на узел. Он также может обрабатывать кеширование и пересылку маршрутов. Ура!
источник
Для этого вы можете использовать http-модуль node.js. Вы можете проверить документацию на Node.js HTTP .
Вам также необходимо передать строку запроса на другой HTTP-сервер. У вас должно быть это в ServerRequest.url .
Получив эту информацию, вы можете передать внутренний HTTP-сервер и порт в параметрах, которые вы предоставите в
http.request()
источник