Я хочу настроить среду моего dev так, чтобы все запросы от www.dev.com
в моем браузере были перенаправлены на localhost:8080
.Node.js Экспресс-настройка прокси для среды разработки, избегайте localhost в URL-адресе для Mac OS X
Я добавил 127.0.01 www.dev.com
в мой/etc/host, но он не выполняет переадресацию порта. Если я иду на http://www.dev.com:8080/
, он работает, но я хочу/должен использовать http://www.dev.com/
, что ближе к реальной производственной среде.
Как это сделать? Я попробовал несколько решений, таких как nginx, но мне это не нравится, я бы предпочел, чтобы он был «scriptable», так что любой другой разработчик может использовать его напрямую. Я использую Express.js с узлом.
Я прочитал Assigning a domain name to localhost for development environment on Mac OS X with node.js, но на самом деле это не объясняет часть порта.
Почему бы не ваше приложение Node прослушивает порт 80 вместо 8080 (хотя для запуска приложения Node требуется root)? – robertklep
Поскольку запуск приложения с правами администратора был бы плохим, потому что поведение может отличаться от его производства. На самом деле это очень простой и плохой способ пойти ИМО. Например, запись файла может работать как root, но не в производстве, и поэтому вы даже не знаете, что есть проблема до тех пор, пока он не достигнет производительности. – Vadorequest
Правда, хотя любое разумное приложение, которое запускается от имени root, должно отбрасывать привилегии, как только он выполнил то, что ему требовалось root privs для (например, для прослушивания порта 80). Но предлагаемый ответ - гораздо лучшее решение. В вашей производственной среде _something_ должен также прослушиваться и на порту 80, поэтому, если вы хотите совпадать с тем, что работает на производстве, вам, вероятно, нужно настроить что-то очень похожее (обратный прокси?). – robertklep