Ergo Proxy-ローカルドメイン管理の逆プロキシエージェント。
異なるポートを介して実行されている複数のアプリの管理により、カスタムローカルドメインを介して簡単になりました。
例については、詳細をご覧ください
python3 -m http.server 8800 & # launch a web server listening on 8800
echo " http://localhost:8800 mylocalsite " > .ergo # adds a service "mylocalsite" to ergo
ergo local & # it may need sudo since it binds to port 80
curl http://mylocalsite.localhost # make a HTTP request to the ergo service :) エルゴの目標は、1つのことだけを行い、それをうまくやるというUNIX哲学に従うシンプルな逆プロキシになることです。シンプルさは魔法が関係しないことを意味します。よく知られている/etc/hosts宣言を拡張する柔軟な逆プロキシだけです。
フィードバック
このプロジェクトは常に開発中ですが、使用する準備が整っています。オープンな問題だけでなく、フィードバックを自由に提供してください。すべての提案と貢献は大歓迎です。 :)
ヘルプとフィードバックについては、https://gopher.slack.comの#ergo-proxyチャンネルで見つけることができます。
ローカルで複数のアプリを扱い、各マイクロサービスを表す各ポートを覚えておく必要があることはイライラします。各サービスに適切なローカルドメインを割り当てる簡単な方法が必要でした。エルゴはこの問題を解決します。
重要なのは、これらがERGOをインストールする唯一の公式な方法です。
brew tap cristianoliveira/tap
brew install ergo
最新の公式バージョンをインストールします
curl -s https://raw.githubusercontent.com/cristianoliveira/ergo/master/install.sh | sh
または特定のバージョンをインストールします
curl -s https://raw.githubusercontent.com/cristianoliveira/ergo/master/install.sh v0.2.5 | sh
Powershell Runから:
Invoke-WebRequest https://raw.githubusercontent.com/cristianoliveira/ergo/master/install.ps1 -out ./install.ps1; ./install.ps1
リリース中のWindows実行可能ファイルを見つけることもできます。
免責事項: UNIXベースのシステムを毎日使用しているため、各ビルドを単独でテストすることはできません。 :(
nix profile install ' github:cristianoliveira/nixpkgs#ergoProxy 'その他の例:https://github.com/cristianoliveira/nixpkgs
go install github.com/cristianoliveira/ergo
パスに$GOPATH/binがあることを確認してください: export PATH=$PATH:$GOPATH/bin
Ergoは、現在のディレクトリ内に.ergoファイルを探します。 /etc/hosts ( domain + space + url )と同じ形式に従って、サービスの名前とURLを含める必要があります。主な違いは、指定されたポートを考慮することです。
ergo localを実行すると、 localhost:80にバインドしようとします。 http://serviceone.localhostおよびhttp://servicetwo.localhost 。 (詳細については、例を確認してください)
注: sudoにポート80にバインドする必要がある場合があります。
ergo local -p <port>によって別のポートを提供し、 http://serviceone.localhost:<port>を介してアクセスできます。
また、 echo '127.0.0.1 localapp' >> /etc/hosts /etc/hostsなどの/etc/ホストに別のループバックを追加し、 http://serviceone.localappおよびhttp://servicetwo.localappを介してサービスにアクセスするためにergo local -domain localappを実行することもできます。
システムネットワーク構成にhttp://127.0.0.1:2000/proxy.pac構成を設定する必要があります。
Ergoには、設定できるセットアップコマンドが付属しています。サポートされている現在のシステムは次のとおりです。
ergo setup < operation-system >エラーの場合 /機能しない場合は、以下の詳細な構成セッションをご覧ください。
echo "ergoproxy http://localhost:3000" > .ergo
ergo run
これで、アクセスできるようになりました: http://ergoproxy.dev 。 Ergoは、構成されたURLに.devで終わるものをリダイレクトします。
デフォルトの.devドメインを使用しないでください。代わりに.testお勧めします(#58を参照)。
set ERGO_DOMAIN=.test
echo "ergoproxy http://localhost:3000" > .ergo
ergo list # you shouldn't see any quotas in the output
ergo run
これでhttp://ergoproxy.testにアクセスできるようになります。 Ergoは、構成されたURLの.testで終わるものをリダイレクトします。
シンプルですよね?魔法は関係ありません。
もっとサービスを追加しますか?簡単です。より多くのラインを追加してください.ergo :
echo "otherservice http://localhost:5000" >> .ergo
ergo list
ergo run
Ergoサーバーとアクセスを再起動: http://otherservice.dev
ergo add otherservice http://localhost:5000 ./.ergoへのラインを追加する速記です
Ergoは、異なるport (デフォルト:2000)で実行され、 domainを変更する(デフォルト:DEV)などのさまざまな構成を受け入れます。 ergo -h実行するErgoのヘルプで、このすべての構成を見つけることができます。
Ergoドメインを使用するには、プロキシとして設定する必要があります。 http://127.0.0.1:2000/proxy.pacを設定します。
Network Preferences > Advanced > Proxies > Automatic Proxy Configuration
Settings > Network and Internet > Proxy > Use setup script
ubuntuで
System Settings > Network > Network Proxy > Automatic
その他の分布については、ネットワークマネージャーを確認し、プロキシ構成を探します。代替としてブラウザ構成を使用します。
ブラウザは、特定のプロキシを使用するように構成できます。この方法をシステム全体の構成に代わるものとして使用します。
プロキシを適切に設定する前にサイトをリクエストした場合、ブラウザのキャッシュをリセットするか、サービスの名前を変更する必要があることに注意してください。 incognitoでは、デフォルトではWindowsキャッシュが無効になっているため、キャッシュを削除したくない場合は使用できます
また、デフォルトの.devドメインを使用しないでください。代わりに.testを提案します(#58を参照)。
クロムを終了し、次のオプションを使用して起動します。
# Linux
$ google-chrome --proxy-pac-url=http://localhost:2000/proxy.pac
# OS X
$ open -a " Google Chrome " --args --proxy-pac-url=http://localhost:2000/proxy.pacAutomatic Proxy configuration URLを確認し、値http://localhost:2000/proxy.pacを以下に入力します network.proxy.autoconfig_url > http://localhost:2000/proxy.pac
ERGOをターミナルでWebプロキシとして使用するには、 http_proxy変数を設定する必要があります。 (Linux/OSXのみ)
export http_proxy= " http://localhost:2000 "別の方法として、一時的なセットアップを実行するための内部/resourcesのスクリプトを見ることができます。これらのスクリプトは、 ergoの実行中にのみプロキシを設定します。
git checkout -b my-new-featuregit commit -am 'Add some feature'git push origin my-new-feature必要な最小限のGolangバージョンgo1.22 。 GOバージョンを管理するためにGVMを使用することをお勧めします。
次に、単に実行します:
gvm use $( cat .gvmrc ) make allmake test
make test-integration # Requires admin permission so use it carefully.mit