Пользователь запускает Node.ts приложение командой yarn start
из директории проекта, переходит по адресу localhost
в браузере и получает веб-страницу ресурса browserleaks.com.
Пользователь запускает приложение командой docker run -it -rm -p 80:80 username/image
и выполняет действия, аналогичные основному кейсу.
Доступ к целевому ресурсу browserleaks.com должен быть обеспечен реверсивным проксированием веб-запросов к localhost
.
Реализация приложения реверс-прокси должна задействовать нижеприведённый список технологий и компонентов.
Использование готовых компонентов по условиям задания запрещено. Вам доступны два стандартных класса Node.js Server и Socket. Используя их, требуется реализовать прозрачное проксирование.
Синтаксис Typescript должен соответствовать спецификации ES7+ и не задействовать устаревший синтаксис без явной необходимости, такой, как require
, Promise
, module.expors
и т.д.