Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Yaxy -- proxy-сервер для веб-разработчика (https://javascript.ru/forum/project/27239-yaxy-proxy-server-dlya-veb-razrabotchika.html)

Kolyaj 06.04.2012 14:34

Yaxy -- proxy-сервер для веб-разработчика
 
https://github.com/Kolyaj/Yaxy

Умеет подменять адреса, добавлять и удалять HTTP-заголовки.

Использование: скачиваем, запускаем, прописываем во всех браузерах в качестве proxy, наслаждаемся.

Кратко зачем это надо.

В простейшем случае это замена файлу hosts, пишем в конфиге
Код:

project.my => localhost
и все запросы к project.my уходят на localhost (localhost в данном случае тот, на котором Yaxy запущен).
Но даже в простейшем случае перед hosts есть важное преимущество: реврайтинг урлов с других машин. Если у вас есть браузеры в виртуальных машинах, то файл hosts у них свой, и надо постоянно поддерживать его актуальность. При использовании Yaxy все конфиги лежат в одном месте.
Ещё важнее возможность тестирования локальных сайтов на устройствах, на которых вообще нет hosts, например, на iPhone. Если iPhone и компьютер находятся в одной сети, то просто прописываете proxy в айфоне и тестируете разрабатываемый сайт.

Основная же фича -- подмена не хостов целиком, а только нужных урлов. Например, охота разобраться, как работает морда Яндекса. Там подключается файл http://yandex.st/www/1.130/www/pages/www/_www.js. Сохраняем его и пишем в конфиге
Код:

http://yandex.st/www/1.130/www/pages/www/_www.js => file://c:/temp/_www.js
Теперь весь яндекс будет грузиться из интернета, а _www.js с вашего локального диска. Вы его можете менять и смотреть, что поменяется на живой морде Яндекса.

Хотя чаще это нужно в случае, когда возникает ошибка, воспроизводящаяся только на боевом сервере, на котором править код нет возможности. Тогда нужный скрипт берётся с локалхоста, а всё остальное с боевого сервера.

Ещё одна область использования, когда вам нужно сделать что-то, для чего серверная часть ещё не готова. В этом случае нужные запросы заменяются на заглушки и функционал разрабатывается без ожидания сервера.

a.malitsky 09.06.2014 04:05

Если нет доменного имени у https development server, то прокси должен работать? Пробовал и в hosts fake домен прописать с резолвом на IP в локальной сети - не работает. Выдает в консоли:
Цитата:

Error: connect ECONNREFUSED
at errnoException (net.js:904:11)
at Object.afterConnect [as oncomplete] (net.js:895:19)
yaxy-config:
Цитата:

[main.css for production proxy]
$UseSSLFor prodproxy.dev
https://prodproxy.dev/src/less/main.css => file:
вместо prodproxy использовал и 10.10.n.n - эффект тот же. Сертификат на сервере тоже самоподписанный.


Часовой пояс GMT +3, время: 06:43.