gondola 是 Go 製作的反向代理,只需用 YAML 編寫設定檔即可輕鬆使用。
可以在awesome-go找到。
它僅使用Go的標準函式庫實現,並具有以下功能
我經營一個名為 bmf-tech.com 的博客,是我用 Go 自己構建的。
部落格曾經有一個使用Nginx建構的反向代理。
我的部落格系統的架構並不複雜,我想一個可以透過更簡單的配置來操作的反向代理就足夠了。
因此我決定建立自己的反向代理,它可以使用更簡單的設定檔進行配置,而不是像 Nginx 那樣具有靈活語法的設定檔。
我實際上在自己的部落格系統中使用了gondola,到目前為止它很簡單且易於運行。
您可以透過使用 go get 指令或下載二進位檔案來使用 gondola。
go get -u github.com/bmf-san/gondola
二進位檔案可從版本中取得。
Docker 映像也可以從 bmf-san/gondola 取得。
在設定檔中設定代理伺服器(gondola)和上游伺服器後,只需啟動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
我們還有_範例,如果您願意,您可以立即嘗試。
有關 Go 中的反向代理實現,請參閱在 Golang 中實現負載平衡器。
本文介紹如何實現負載平衡器,但由於它是基於反向代理實現的,因此可能會有所幫助。
gondola 歡迎問題和 Pull 請求。
當然Star也歡迎。
我們仍然缺少 gondola 的一些功能和實現,因此我們希望繼續改進它。
請隨時提供回饋。
以上是gondola:為什麼不使用輕量級且簡單的基於 YAML 的反向代理?的詳細內容。更多資訊請關注PHP中文網其他相關文章!