gondola는 Go에서 만든 역방향 프록시로 YAML로 구성 파일을 작성하기만 하면 쉽게 사용할 수 있습니다.
Awesome-go에서 만나보실 수 있습니다.
Go의 표준 라이브러리만을 사용하여 구현되었으며 다음과 같은 기능을 가지고 있습니다
저는 Go로 직접 만든 bmf-tech.com이라는 블로그를 운영하고 있습니다.
Nginx를 사용하여 역방향 프록시를 구축한 블로그입니다.
제 블로그 시스템의 아키텍처는 복잡하지 않고, 보다 간단한 구성으로 운영할 수 있는 리버스 프록시면 충분하다고 생각했습니다.
그래서 저는 Nginx와 같은 유연한 구문을 사용하는 구성 파일 대신 간단한 구성 파일로 구성할 수 있는 나만의 역방향 프록시를 구축하기로 결정했습니다.
실제로 제가 운영하는 블로그 시스템에서 곤돌라를 사용하고 있는데 현재까지는 간단하고 쉽게 운영되고 있습니다.
go get 명령을 사용하거나 바이너리를 다운로드하여 곤돌라를 사용할 수 있습니다.
go get -u github.com/bmf-san/gondola
바이너리는 릴리스부터 사용할 수 있습니다.
Docker 이미지는 bmf-san/gondola에서도 보실 수 있습니다.
구성 파일에 프록시 서버(곤돌라)와 업스트림 서버가 구성되면 곤돌라를 시작하면 됩니다.
# example config.yaml proxy: (default) port: 443 read_header_timeout: 2000 shutdown_timeout: 3000 tls_cert_path: certificates/cert.pem tls_key_path: certificates/key.pem static_files: /public/static_files - path: /public/ dir: . /public upstreams: host_name: backend1.local - host_name: backend1.local target: http://backend1:8081 # backend1 is the name of the container - host_name: backend2.local target: http://backend2:8082 # backend2 is the name of the container log_level: 0 # Debug:-4 Info:0 Warn:4 Error:8
다음과 같이 곤돌라를 시작하세요.
gondola -config config.yaml
원하는 경우 바로 시험해 볼 수 있는 _examples도 있습니다.
Go에서 역방향 프록시를 구현하려면 Golang에서 로드 밸런서 구현을 참조하세요.
본 글에서는 로드밸런서 구현 방법을 소개하고 있는데, 역방향 프록시 구현을 기반으로 하기 때문에 도움이 될 수 있습니다.
곤돌라에서는 문제와 끌어오기 요청을 환영합니다.
물론 스타님도 환영합니다.
곤돌라의 일부 기능과 구현이 아직 누락되어 있어 계속해서 개선해 나가고 싶습니다.
의견을 자유롭게 남겨주세요.
위 내용은 gondola: 가볍고 간단한 YAML 기반 역방향 프록시를 사용하면 어떨까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!