gondola は、YAML で設定ファイルを記述するだけで簡単に利用できる Go 製リバース プロキシです。
awesome-go で見つけることができます。
Go の標準ライブラリのみを使用して実装されており、以下の機能を備えています
私は bmf-tech.com というブログを運営しています。これは Go で自分で作成したものです。
このブログには、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 でのロード バランサーの実装」を参照してください。
この記事ではロードバランサーの実装方法を紹介していますが、リバースプロキシの実装をベースにしているので参考になるかもしれません。
ゴンドラは問題とプルリクエストを歓迎します。
もちろんスターさんも大歓迎です。
ゴンドラの機能や実装がまだ不足している部分があるので、引き続き改善していきたいと思います。
お気軽にフィードバックをお寄せください。
以上がゴンドラ: 軽量でシンプルな YAML ベースのリバース プロキシを使用してみてはいかがでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。