golang实现的http反向代理

今天找http代理的例子,一直没找到满意的,终于在github上找到一个,非常的精简,非常的入眼,记录一下。

package main

import (
    "net/http"
    "net/http/httputil"
    "log"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        director := func(req *http.Request) {
            req = r
            req.URL.Scheme = "http"
            req.URL.Host = r.Host
        }
        proxy := &httputil.ReverseProxy{Director: director}
        proxy.ServeHTTP(w, r)
    })

    log.Fatal(http.ListenAndServe(":8888", nil))
}

出处:https://gist.github.com/montanaflynn/304aa58b188f036204af

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,523评论 25 708
  • 太长了,还是转载吧...今天在看博客的时候,无意中发现了@Trinea在GitHub上的一个项目Android开源...
    庞哈哈哈12138阅读 20,280评论 3 283
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 想写不敷衍的文章而不是把词汇一个一个挤出来然后拼凑起来 静不下心
    莫方w阅读 169评论 0 0
  • 我有一个秘密 不蕴望天 不粹含地 也没有世事的嘈杂烦乱 一个仅仅只关于你的秘密 每当清晨的阳光打在窗前 这个秘密也...
    k柠檬阅读 200评论 2 2