برای بسیاری از ما این مشکل پیش آمده که نیاز به راه اندازی پروکسی برای وبسایتهای خاص و کاربردهای خاصی داشته باشیم. برای مثال برای دور زدن تحریمهای بسیاری از سرویسهای خارجی مانند docker hub . ابزارهای راه اندازی پروکسی متفاوتی ساخته شده است که به سادگی میتوانید پروکسی سرور خود را با آن راه اندازی کنید. در این بین کتابخانههای قابل برنامهنویسی هم نوع جذابی از این مدل پروکسی سرورها هستند که میتوانید منطق خود برای استفادهی شخصی را به پروکسی سرور خود بفهمانید. برای کاربردهایی نظیر caching و فیلتر درخواستهای خاص و حالتهای زیادی که ممکن است در طول یک پروژهی نرم افزاری به آنها نیاز پیدا کنید.
goproxy یکی از کتابخانههای خوب برای پیادهسازی پروکسی سرور خودتان با امکانات ویژهی خودتان است. کافیست کمی زبان گو بدانید و البته بدانید چه نیاز دارید. این ابزار پروکسیهای سادهی http با قابلیت پشتیبانی از ssl/tls را داراست. برای استفاده از آن کافیست آن را نصب کنید و از مستندات خوب آن برای پیادهسازی های خود استفاده کنید.
برای نصب goproxy بعد از نصب زبان برنامه نویسی گو میتوانید آن را با دستور زیر دریافت کنید :
go get -u github.com/elazarl/goproxy
یک نمونهی ساده از پروکسی با goproxy :
package main
import (
"github.com/elazarl/goproxy"
"log"
"net/http"
)
func main() {
proxy := goproxy.NewProxyHttpServer()
proxy.Verbose = true
log.Fatal(http.ListenAndServe(":8080", proxy))
}
مطالعه بیشتر