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 :) Ergo의 목표는 한 가지만 수행하고 잘하는 유닉스 철학을 따르는 간단한 역전 프록시가되는 것입니다. 단순성은 마법이 관련이 없음을 의미합니다. 잘 알려진 /etc/hosts 선언을 확장하는 유연한 리버스 프록시.
피드백
이 프로젝트는 지속적으로 개발 중이지만 사용할 준비가되었습니다. 공개 문제뿐만 아니라 피드백을 자유롭게 제공하십시오. 모든 제안과 기여를 환영합니다. :)
도움말과 피드백은 https://gopher.slack.com의 #ergo-proxy 채널에서 우리를 찾을 수 있습니다.
여러 앱을 로컬로 처리하고 각 마이크로 서비스를 나타내는 각 포트를 기억 해야하는 것은 실망 스럽습니다. 각 서비스에 적절한 로컬 도메인을 할당하는 간단한 방법을 원했습니다. Ergo는이 문제를 해결합니다.
중요한 것들이 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 실행 파일을 찾을 수도 있습니다.
면책 조항 : 나는 매일 유닉스 기반 시스템을 사용하므로 각 빌드를 단독으로 테스트 할 수 없습니다. :(
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/호스트에 다른 루프백을 추가하고 ergo local -domain localapp 실행하여 http://serviceone.localapp 및 http://servicetwo.localapp 통해 서비스에 액세스 할 수 있습니다.
시스템 네트워크 구성에서 http://127.0.0.1:2000/proxy.pac 2000/proxy.pac 구성을 설정해야합니다.
Ergo에는 설정 명령이 포함되어 있습니다. 지원되는 현재 시스템은 다음과 같습니다.
ergo setup < operation-system >오류가 발생하거나 작동하지 않는 경우 아래의 자세한 구성 세션을 살펴보십시오.
echo "ergoproxy http://localhost:3000" > .ergo
ergo run
이제 http://ergoproxy.dev 에 액세스 할 수 있어야합니다. Ergo는 구성된 URL로 .dev 로 끝나는 모든 것을 리디렉션합니다.
기본적으로 .dev 도메인을 사용해서는 안됩니다. 서비스가 상자에서 https를 지원하고 이미 인증서가없는 한 대신. .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 (Default : Dev)과 같은 다른 구성을 허용합니다. Ergo의 도움말 ergo -h 실행하는 데 있어이 모든 구성을 찾을 수 있습니다.
Ergo 도메인을 사용하려면 프록시로 설정해야합니다. http://127.0.0.1:2000/proxy.pac 을 설정하십시오.
Network Preferences > Advanced > Proxies > Automatic Proxy Configuration
Settings > Network and Internet > Proxy > Use setup script
우분투에서
System Settings > Network > Network Proxy > Automatic
다른 배포판의 경우 네트워크 관리자를 확인하고 프록시 구성을 찾으십시오. 브라우저 구성을 대안으로 사용하십시오.
브라우저는 특정 프록시를 사용하도록 구성 할 수 있습니다. 이 방법을 시스템 전체 구성의 대안으로 사용하십시오.
프록시를 올바르게 설정하기 전에 사이트를 요청한 경우 브라우저의 캐시를 재설정하거나 서비스 이름을 변경해야합니다. incognito 에서 Windows 캐시는 기본적으로 비활성화되므로 캐시를 삭제하지 않으려면 사용할 수 있습니다.
또한 기본 .dev 도메인을 사용해서는 안됩니다. 서비스가 상자에서 https를 지원하고 이미 인증서가없는 한. .test 대신 ( #58 참조) 제안합니다 ( #58 참조).
Chrome을 종료하고 다음 옵션을 사용하여 시작하십시오.
# 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를 터미널에서 웹 프록시로 사용하려면 http_proxy 변수를 설정해야합니다. (Linux/OSX에만 해당)
export http_proxy= " http://localhost:2000 " 대안으로 임시 설정을 실행하기위한 내부 /resources 를 볼 수 있습니다. 이 스크립트는 ergo 실행중인 동안 만 프록시를 설정합니다.
git checkout -b my-new-feature 만듭니다git commit -am 'Add some feature'git push origin my-new-feature 최소 필수 골란 버전 go1.22 . GO 버전 관리를 위해 GVM을 사용하는 것이 좋습니다.
그런 다음 단순히 실행하십시오.
gvm use $( cat .gvmrc ) make allmake test
make test-integration # Requires admin permission so use it carefully.MIT